问题标签 [sax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1119 浏览

java - SAX 过早结束解析?

我对使用 XML 比较陌生,并且正在使用javax.xml.parsers.SAXParser.

问题是:我需要的信息靠近 XML 文件的顶部,我不需要解析整个文档。-- 识别出相关信息后,停止解析文件的“最佳”方式是什么?

(到目前为止,我能想到的唯一方法是抛出异常。)

0 投票
2 回答
1071 浏览

java - 使用 SAX 的状态模式

我必须用 java SAX 解析器解析一些 xml。趁着忙,看到这里可以使用状态模式。

定义了清晰的状态和状态转换,类似于 xml 文档的结构。

要实现状态模式,我必须定义一个接口(或抽象类)。最明显的接口方法是:

但是我遇到的问题是如何返回信息。我需要一个结构中的 xml 文档中多个级别的信息。

这是 xml 文档的一部分

我的假设是否正确,即状态模式适合这里?如果是这样,在这里实施它的最佳方法是什么?

0 投票
3 回答
3310 浏览

asp.net - ColdFusion 对 web 服务的调用给出了 org.xml.sax.SAXException

我们是一个小团队,有一个 ASP.NET Web 开发人员和一个 ColdFusion 开发人员。我们都不知道对方的环境。我使用 Visual Studio 2005 编写了一个 ASMX Web 服务,并在 Visual Studio 2008 中编写了一个成功使用 Web 服务的 Web 应用程序项目。但是现在我们正试图让我的 ColdFusion 同事使用 Web 服务,并且我们得到了我们无法解释的结果(除了推测目标 Web 服务甚至没有被达到,但是 ColdFusion 使用的某些“系统层”正在失败。

编辑 - 更新:2009 年 6 月 2 日:

CF 开发人员看到的错误消息的最重要部分:

这是 CF 客户端看到的堆栈跟踪:

这是我们试图调用的 webmethod 的签名:

我们对如何进行感到很困惑。明天我可以发布 CF 源代码,如果有用的话,但据我所知,它非常简单,并且在我们的单元测试中,服务的 CF 调用中的大多数参数都是常量(字符串)。

任何适当的 CF 论坛的帮助或建议将不胜感激。谢谢。

编辑更新 2009 年 6 月 2 日:

这是 CFML 代码:

请注意,我们已经大大简化了这一点,试图让事情正常进行。上面的参数 1 和 4 只是字符串常量。参数 2 是我们对 .Net 期望的字节数组的尝试。我们相信我们不会被 .Net 网络服务拒绝;相反,从堆栈跟踪中可以看出,在消息甚至通过网络发送之前,它就陷入了 SAX 异常。.Net Web 服务不会将任何内容记录到运行它的服务器的应用程序日志或系统日志中。

ColdFusion 版本是:ColdFusion MX 7。

编辑 - 2009 年 6 月 4 日:

通过另一个更专业的论坛解决了这个问题:

http://forums.adobe.com/message/2009491#2009491

简而言之,当在 IIS 中使用“集成 Windows 身份验证”配置目标 Web 服务(我们的就是这样并且需要)时,CF MX 7 惨遭失败(错误消息没有给出任何线索)。更多的研究导致了这一点:

http://blog.tagworldwide.com/?p=16

我们仍在追求这一点,并试图找到一个完全可行的解决方案。最重要的是,ColdFusion“管理员”必须进行一些“特殊配置”以使“生成的 Java 存根”能够连接到需要 Windows 身份验证的 .Net Web 服务。

0 投票
2 回答
2002 浏览

python - 如何使用 Python xml.sax 获取元素属性列表的顺序?

如何获取元素属性列表的顺序?最终处理并非完全必要,但可以:

  • 在过滤器中,不要无缘无故地重新排序属性列表

  • 调试时,以与输入中出现的顺序相同的顺序打印数据

这是我当前的属性处理器,它对属性进行类似字典的传递。

0 投票
3 回答
3904 浏览

java - Sax 无效 XML 字符异常

我已经下载了 Stack Over Flow 站点的 xml 转储。在将转储传输到 mysql 数据库时,我一直遇到以下错误:出现异常:字符引用“某些字符集如 ”是无效的 XML 字符。

我使用 UltraEdit(它是一个 800 兆的文件)从文件中删除了一些字符,但是如果我删除了无效的字符集并运行解析器,我会收到识别更多无效字符的错误。关于如何解决这个问题的任何建议?

大家加油,

j

0 投票
9 回答
10060 浏览

c++ - 对大文件有效的轻量级 XML 解析器?

我需要解析潜在的巨大 XML 文件,所以我猜这排除了 DOM 解析器。

是否有任何用于 C++ 的轻量级 SAX 解析器,可与 TinyXML 在占用空间上相媲美?XML 的结构非常简单,不需要像名称空间和 DTD 之类的高级东西。只是元素、属性和 cdata。

我知道 Xerces,但它超过 50mb 的绝对大小让我不寒而栗。

谢谢!

0 投票
1 回答
1001 浏览

java - dom4j SAXReader - 停止解析

我正在使用 SAXReader 解析 XML 文件,并且希望在一定时间(超时)后停止,以防文件太大。概括地说,我想在 ContentHandler 中抛出一个 SAXException(比如在 startElement 中)。

这个想法在这里描述:http: //www.ibm.com/developerworks/xml/library/x-tipsaxstop/

但是,dom4j 的 SAXReader 使用 ElementHandler,其中“onStart”和“onEnd”事件不允许抛出异常。我对在这里做什么有点困惑。

有什么建议么?谢谢。

0 投票
3 回答
5372 浏览

java - SAXException:空后文件意外结束

我偶尔会从解析大量 XML 文件的过程中得到标题中的错误。

文件本身似乎没问题,并且在产生错误的相同文件上再次运行该过程就可以了。

异常发生在调用XMLReader.parse(InputStream is)

这可能是解析器中的错误(我使用piccolo)吗?还是与我如何打开文件流有关?

不涉及多线程。

Piccolo 在当时似乎是个好主意,但我真的没有使用它的好借口。我将尝试切换到默认的 SAX 解析器,看看是否有帮助。

更新:它没有帮助,我发现 Piccolo 对于某些工作负载要快得多,所以我回去了。

0 投票
3 回答
3150 浏览

java - 如何使用 SAX 获取 xml 标记的正确开始/结束位置?

SAX 中有一个定位器,它跟踪当前位置。但是,当我在 startElement() 中调用它时,它总是返回我 xml 标记的结束位置。

如何获取标签的起始位置?有没有办法优雅地解决这个问题?

0 投票
1 回答
1232 浏览

.net - C# 中的高级 SAX 解析器

请参阅下面的 XML Arch。我想在行/列 wize 中显示它。

我需要的是我需要将此 xml 文件转换为 Hashtable 之类的,