问题标签 [expat-parser]

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 投票
4 回答
562 浏览

python - 从python中的大量xml文件中提取信息的最有效方法是什么?

我有一个包含 XML 文件的完整目录(~10 3、 10 4),我需要从中提取几个字段的内容。我测试了不同的 xml 解析器,因为我不需要验证内容(昂贵),所以我想简单地使用 xml.parsers.expat (最快的)来遍历文件,一个一个地提取数据。

  1. 有没有更有效的方法?(简单的文本匹配不起作用)
  2. 我是否需要为每个新文件(或字符串)发出一个新的 ParserCreate() 或者我可以为每个文件重复使用相同的 ParserCreate() 吗?
  3. 有什么注意事项吗?

谢谢!

0 投票
4 回答
2380 浏览

c - 什么是 XML 解析器?使用外籍人士

这似乎是一个简单的问题。

但我一直在寻找一种 XML 解析器,以便在我的一个在 Linux 上运行的应用程序中使用。

我正在使用Expat并通过读取一个 XML 文件来解析我的 XML 文件。但是,输出与输入相同。

这是我正在阅读的文件:

但是,在我通过这个之后,我得到的输出与输出完全相同。这让我想知道解析器的用途是什么?

还有一件事。我正在使用外籍人士。这似乎很难使用。我的代码如下:这读入一个文件。但是我的应用程序必须解析一个缓冲区,该缓冲区将由套接字接收,而不是从文件中接收。有没有任何人有这方面的样品?

0 投票
2 回答
29627 浏览

c - 使用 xml 解析器 expat 获取 xml 数据

我已经成功解析。但是现在我无法获得所需的值。我可以得到元素和属性。但无法获取值。我想在这个 xml 中获取 frame 的值,它是 20。

0 投票
4 回答
1482 浏览

c++ - expat 解析器:内存消耗

我正在使用 expat 解析器来解析大约 15 GB 的 XML 文件。问题是它会引发“Out of Memory”错误并且程序 aborts 。

我想知道是否有任何机构面临与 expat 解析器类似的问题,或者它是一个已知的错误并已在以后的版本中得到纠正?

0 投票
2 回答
1555 浏览

python - python处理数据中的XML解析expat

我正在尝试使用 python expat 解析 XML 文件。我的 XML 文件中有以下行:

expat 标识开始和结束标记,但转换 & lt; 小于字符和大于字符相同,因此解析如下:

结果:

而不是想要的:

我想得到理想的结果,我该如何防止外籍人士搞砸?

0 投票
4 回答
777 浏览

python - Python xml.dom 和错误的 XML

我正在尝试使用 python 程序从各种 HTML 页面中提取一些数据。不幸的是,其中一些页面包含用户输入的数据,这些数据偶尔会出现“轻微”错误——即标签不匹配。

有没有一种好方法可以让 python 的 xml.dom 尝试纠正错误或类似的东西?或者,是否有更好的方法从可能包含错误的 HTML 页面中提取数据?

0 投票
2 回答
1314 浏览

python - 雅虎 BOSS Python 库,ExpatError

我尝试安装 Yahoo BOSS mashup 框架,但无法运行提供的示例。示例 1、2、5 和 6 有效,但 3 和 4 给出了 Expat 错误。这是 ex3.py 的输出:

尝试查询 Digg.com 时,这两个示例似乎都失败了。这是在 ex3.py 的代码中构造的查询:

0 投票
8 回答
24228 浏览

xml - 我可以使用模式强制 XML 属性的顺序吗?

我们的 C++ 应用程序从如下所示的 XML 文件中读取配置数据:

完整的应用程序配置包含约 2500 个这些 XML 文件(转换为超过 150 万个键/值属性对)。XML 文件来自许多不同的来源/团队,并根据模式进行验证。但是,有时<value/>节点看起来像这样:

或这个:

为了加快这个过程,我们使用Expat来解析 XML 文档。Expat 将属性公开为数组 - 如下所示:

这将所有责任放在我们的ProcessAttribute()函数上,以读取“密钥”并决定如何处理该值。 分析应用程序表明,大约 40% 的总 XML 解析时间是按名称/字符串处理这些属性。

如果我可以保证/强制执行属性的顺序(对于初学者,没有字符串比较),整个过程可以大大加快ProcessAttribute()。例如,如果 'id' 属性始终是第一个属性,我们可以直接处理它:

根据 W3C 模式规范,我可以<xs:sequence>在 XML 模式中使用来强制元素的顺序 - 但它似乎不适用于属性 - 或者我可能使用不正确:

有没有办法在 XML 文档中强制执行属性顺序?如果答案是“否”——有人可能会提出一种不会带来巨大运行时性能损失的替代方案吗?

0 投票
3 回答
1681 浏览

html - 如何修复不合规的 HTML,以便 Expat 解析它(htmltidy 不起作用)

我正在尝试从http://www.nfl.com/scores抓取信息(特别是,找出游戏何时结束,以便我的计算机可以停止记录)。我可以很容易地下载 HTML,它声称符合标准:

  1. 尝试用Expat解析它会产生错误not well-formed (invalid token)

  2. W3C 的在线验证服务报告399 个错误和 121 个警告。

  3. 我尝试tidy使用该选项在我的 Linux 系统上运行 HTML tidy(刚刚称为 )-xml,但 tidy 报告 56 个警告和 117 个错误,并且无法恢复良好的 XML 文件。错误如下所示:

    但是当我检查输入时,“未知实体”似乎是正确引用的 URL 的一部分,所以我不知道某处是否缺少双引号或什么。

我知道有一些东西可以解析这些东西,因为 Firefox 和 w3m 都显示了一些合理的东西。 什么工具可以修复不兼容的 HTML,以便我可以用 Expat 解析它?

0 投票
1 回答
861 浏览

c++ - 在 C++ 中使用 Expat XML 解析器在 CDATA 中丢失转义符号周围的空格

我正在使用 XML 在应用程序之间发送项目信息。其中一条信息是项目描述。所以我有:

或者:“测试和空间&一些&s!” <--很好!

然后当我使用 Expat 解析它时,我的数据处理程序一次只获取整个字符串的一部分。“测试”,然后是“&”,然后是“周围的空格”,下一个“&”等等。当我尝试重建原始字符串时,& 周围的所有间距都被删除,因为数据处理程序永远不会到达看他们。然后,当我重新编写 XML 时,我得到:

或者:“测试&空间&一些&s!” <--糟糕!

这是现有解决方法的已知问题吗?我可以给 Expat 一些设置来控制其围绕转义符号的行为吗?

我在谷歌上搜索答案的尝试遭遇了惨淡的失败。

编辑:回答评论中的问题:我有自己的处理程序,我在解析器中注册:

处理程序声明如下:

然后“s”包含元素中的数据。没有任何 & 的东西,它是打开和关闭标签之间的整个字符串,在“带空格的字符串”的情况下。