问题标签 [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.
java - 在java中使用vtd从xml中删除一个节点
我想从其父节点中删除 id=2 的完整节点。如何用 Java 做到这一点?提前致谢。
vtd-xml - VTD-XML如何在xpath中处理一对多关系
在使用 VTD-XML 使用大型 xpath 解析 xml 时遇到问题,
1) 例如,在单个 xpath 中与 xml 元素的一对多关系,
问题是,我正在使用多个自动驾驶仪来打破一对多的关系。但是底层的导航器是相同的。有时我没有得到所有的元素。
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 节点值合并,现在真的需要太多时间。
xml - 如何在 vtd XML 中连接多个标签值?
如何在 vtd XML 上使用 XPATH 连接多个标记值?
我尝试使用以下内容失败。
如果我在此 XPATH 中使用 concat,我会收到以下错误:
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 循环的计数器中。
c++ - vtd-xml c++编译安装报错
有人用过vtd-xml lib的c++版本吗?
最近我想用 c++ 或 c 解析(需要遍历)xml 文件,并认为vtd-xml是一个完美的解决方案,但是在编译 mingw 时会输出很多警告和错误。
我查看了这些错误并发现了一些“常识错误”。你知道这个 vtd-xml 库的 c++ 版本是否可靠吗?或者一些适合 xml 解析的替代库(快速和低内存消耗)?我下载的版本是ver2.11
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。
- JVM 参数:-Xmn100M -Xms500M -Xmx2048M。
- JVM 参数:-Xmn100M -Xms500M -Xmx4096M。
使用 Maven:
- 设置 MAVEN_OPTS=-Xmn100M -Xms500M -Xmx2048M
- 设置 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 异常。
示例代码:
错误:
任何帮助,将不胜感激。
vtd-xml - 从 VTD XML 中的元素评估 XPath 表达式
XML 文件:
Java 代码:
我可以存储 app 元素并在 app 元素中执行 xpath 表达式。像这样
如何在 VTD XML 中执行此操作?
javascript - 将 VTD-XML 与 node.js 一起使用
VTD-XML 看起来是解决我长期以来遇到的一个问题的完美解决方案,随机访问非常大的 XML 文件(在我的例子中,MediaWiki 转储文件,如维基词典的那些文件)。
问题是,有没有办法从 node.js 使用 VTD-XML?我找不到任何人在我的互联网搜索中提到这两个主题。
VTD-XML 正式可用于 Java、C#、C++ 和 C。但在他们的网站上没有提及任何脚本语言,包括 JavaScript 和 node.js。
有没有我还没有找到将它们一起使用的解决方案,或者如果我要自己动手,我应该从哪里开始?
java - VTD-XML:如何不从根元素执行 XPath 查询
我需要处理大型 XML 文件,因此我决定从 DOM 解析器转向 VTD-XML。
当我使用 Java 的 DOM 解析器时,我可以从任何节点评估 XPath 查询,而不是从根。查看XPath.evaluate原型:
Object item
是起始上下文(例如一个节点)。这非常有用。
但是我找不到在 VTD-XML 中做同样事情的方法。我已经阅读了它的 API 并阅读了许多示例,例如,this one,但是所有查询都是从根目录执行的。
怎么做?