问题标签 [vtd-xml]

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 投票
1 回答
221 浏览

java - 在java中使用vtd从xml中删除一个节点

我想从其父节点中删除 id=2 的完整节点。如何用 Java 做到这一点?提前致谢。

0 投票
0 回答
129 浏览

vtd-xml - VTD-XML如何在xpath中处理一对多关系

在使用 VTD-XML 使用大型 xpath 解析 xml 时遇到问题,

1) 例如,在单个 xpath 中与 xml 元素的一对多关系,

问题是,我正在使用多个自动驾驶仪来打破一对多的关系。但是底层的导航器是相同的。有时我没有得到所有的元素。

0 投票
1 回答
894 浏览

java - 如何通过 VTD-XML 中的节点名称值合并(连接)两个不同的 xml 文件?

我是 Java 的新手,在评估了一些 Java 库后,我通过性能测试和使用 Xpath 的选项选择了 VTD-XML,我尝试了 StaX,我认为它不适合人类,真的很难理解解析是如何工作的(几乎对我来说XD)。

所以,我的目标是将 geo_code 节点从 partial_geo_codes.xml “注入”到 geo_code accommodation.xml 中,匹配节点 ext_id 上的值

住宿.xml

这是要附加到住宿.xml 中的文件:

partial_geo_codes.xml

这是预期的输出:

住宿新的.xml

这是我的“wannabe-really-sucks”java类:

我真的很感激任何线索帮助我如何一次迭代到 2 个 xml 文件并更快地按 ext_id 节点值合并,现在真的需要太多时间。

0 投票
1 回答
251 浏览

xml - 如何在 vtd XML 中连接多个标签值?

如何在 vtd XML 上使用 XPATH 连接多个标记值?

我尝试使用以下内容失败。

如果我在此 XPATH 中使用 concat,我会收到以下错误:

0 投票
1 回答
330 浏览

java - VTD-XML XPath 正在跳过前 3 条记录

我正在使用 VTD-XML 将大型 xml 文件拆分为较小的 xml 文件。一切正常接受:

autoPilot.selectXPath("//nodeName")

由于某种原因,它跳过了前 3 个节点。

编辑:vtd-xml-author 指出LOG.info("xpath has found "+ ap.evalXPath() +" items");不返回计数但返回节点索引。

新的拆分 xml 文件缺少原始文件中的前三个节点。

这是基本的 XML 布局。我无法显示真正的 xml 数据,但它看起来像这样:

这是我用来拆分 xml 的函数:

编辑:添加到 while 循环的计数器中。

0 投票
1 回答
318 浏览

c++ - vtd-xml c++编译安装报错

有人用过vtd-xml lib的c++版本吗?

最近我想用 c++ 或 c 解析(需要遍历)xml 文件,并认为vtd-xml是一个完美的解决方案,但是在编译 mingw 时会输出很多警告和错误。

我查看了这些错误并发现了一些“常识错误”。你知道这个 vtd-xml 库的 c++ 版本是否可靠吗?或者一些适合 xml 解析的替代库(快速和低内存消耗)?我下载的版本是ver2.11

0 投票
2 回答
2503 浏览

java - 使用 vtd-xml 加载巨大的 4Gb XML 文件

我正在评估 vtd-xml 作为大型数据迁移项目的可能解决方案。输入数据为 xml 格式,如果 vtd-xml 可行,它将节省大量开发时间。我从 vtd-xml 网站运行示例处理巨大的 XML 文档(大于 2GB):http: //vtd-xml.sourceforge.net/codeSample/cs12.html

我成功处理了 500Mb,但得到了可怕的 java.lang.OutOfMemoryError: Java heap space error with a 4Gb file。

  1. JVM 参数:-Xmn100M -Xms500M -Xmx2048M。
  2. JVM 参数:-Xmn100M -Xms500M -Xmx4096M。

使用 Maven:

  1. 设置 MAVEN_OPTS=-Xmn100M -Xms500M -Xmx2048M
  2. 设置 MAVEN_OPTS=-Xmn100M -Xms500M -Xmx4096M

注意:我已经使用 JVM 参数的各种组合对其进行了测试。

我研究了 vtd-xml 站点和 API 文档,并在这里和其他地方浏览了许多问题。所有的 awnsers 都指向将 JVM 内存设置得更高或添加更多的物理内存。vtd-xml 网站指的内存使用量是 xml 文件大小的 1.3x-1.5x,但如果使用 64 位,则应该能够处理比可用内存大得多的文件。当然,添加 64Gb 内存来处理 35Gb xml 文件也是不可行的。

环境:

视窗 7 64 位。6Gb 内存。(关闭所有其他应用程序,85% 内存可用)

java版本“1.7.0_09”

Java(TM) SE 运行时环境 (build 1.7.0_09-b05)

Java HotSpot(TM) 64 位服务器 VM(内部版本 23.5-b02,混合模式)

日蚀靛蓝

Maven 2

从 Eclipse 和 Maven 运行该示例会引发 Out of memory 异常。

示例代码:

错误:

任何帮助,将不胜感激。

0 投票
1 回答
184 浏览

vtd-xml - 从 VTD XML 中的元素评估 XPath 表达式

XML 文件:

Java 代码:

我可以存储 app 元素并在 app 元素中执行 xpath 表达式。像这样

如何在 VTD XML 中执行此操作?

0 投票
1 回答
192 浏览

javascript - 将 VTD-XML 与 node.js 一起使用

VTD-XML 看起来是解决我长期以来遇到的一个问题的完美解决方案,随机访问非常大的 XML 文件(在我的例子中,MediaWiki 转储文件,如维基词典的那些文件)。

问题是,有没有办法从 node.js 使用 VTD-XML?我找不到任何人在我的互联网搜索中提到这两个主题。

VTD-XML 正式可用于 Java、C#、C++ 和 C。但在他们的网站上没有提及任何脚本语言,包括 JavaScript 和 node.js。

有没有我还没有找到将它们一起使用的解决方案,或者如果我要自己动手,我应该从哪里开始?

0 投票
1 回答
2117 浏览

java - VTD-XML:如何不从根元素执行 XPath 查询

我需要处理大型 XML 文件,因此我决定从 DOM 解析器转向 VTD-XML。

当我使用 Java 的 DOM 解析器时,我可以从任何节点评估 XPath 查询,而不是从根。查看XPath.evaluate原型:

Object item是起始上下文(例如一个节点)。这非常有用。

但是我找不到在 VTD-XML 中做同样事情的方法。我已经阅读了它的 API 并阅读了许多示例,例如,this one,但是所有查询都是从根目录执行的。

怎么做?