问题标签 [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 - JVM 运行时内存/net beans 运行时内存/带参数的 JVM 运行时内存(VTD-Parser)
我正在解析一个 600MB
大小差不多的文件。
以下是文件运行时的内存使用情况
-Xms1g
1] 当使用运行时 JVM 参数从 Netbeans运行时1.03GB memory
(从任务管理器检查)
2]当我直接运行JAR
它时1.34GB
(从任务管理器检查)并抛出java outofmemory exception
(我已经设置了我的 JVM 运行时参数,-Xms2048M
也尝试了-Xms1g
)
3] 当我使用 JVM 参数从 cmd 运行时,-Xms1g
它会占用1.03GB
内存并提供正确的输出。
问题:我的 JVM 运行时参数设置为在 2gb 内存上运行(也尝试过 1gb)为什么outofmemory
在 cmd 命令中专门给出内存时它给出了正确的输出,为什么它会抛出?
xml - VTD-XML:如何获取当前元素的 XPath?
我正在使用 VTD 解析和拆分非常大的 XML 文件,并在调用AutoPilot.evalXPath()
.
考虑以下 XML:
我正在AutoPilot
初始化autopilot.selectXPath("/atlas/continents/continent/countries/country");
当我使用 遍历匹配autopilot.evalXPath()
项时,我需要每个元素的绝对 XPath,例如/atlast/continents/continent[1]/countries/country[2]
.
我尝试了几乎所有的方法VTDNav
-AutoPilot
VTDNav.getXPathStringVal() / VTDNav.getXPathStringVal(short mode)
VTDNav.toNormalizedXPathString(int j)
AutoPilot.getExprString()
有任何想法吗?
java - 使用 VTD-XML 和 Java 在巨大的 xml 文件中修改 xPath 表达式找到的所有值
在网上大量研究之后,我决定使用 Java Api VTD-XML 来组合巨大的 xml 文件,解析和编辑,以及 xPath
要修改的 XML 文件为 10 MB - 400 MB,如下所示:
请不要开始讨论结构和元素名称。我无法改变这一点。
我想编辑文件中所有匹配某个 xPath 表达式的元素值。当我为此使用 VTD XML 和 XPath 时,在生成的文档中只有一个元素值被正确更改。我的代码:
我想编辑文档中 //Address[LastName='ghi']/FirstName/text() 的所有值,所以
getNodesFromDocument() 中的 while 循环正确显示所有值,但并非所有值都被修改。只有一个
出现在输出文件中。你能帮我找到解决问题的方法吗?代码有什么问题?为什么输出中只有一个修改值?
谢谢你的帮助!
xml - 使用 vtd-xml 从 xml 文件中删除注释,删除注释
有没有办法从 vtd-xml 解析的巨大 xml 文件(>200 MB)中删除评论?
两者,根元素之前的注释
和里面的评论
最好的解决方案是使用 xPath。我试过了
它适用于 DOM 但不适用于 vtd-xml
这是我选择评论的代码
但是这里什么都没有打印到屏幕上。
有没有办法用 vtd xml 做到这一点?
谢谢你的帮助。
xml - 使用 vtd-xml 和 xPath 修改 XMLSchema 位置
有没有办法修改 vtd-xml 解析的 XML 模式位置?
xml 文件看起来像
最好的解决方案是使用 xPath。我试过
它适用于 DOM 但不适用于 vtd-xml
这是我的代码
打印到屏幕的结果是:10, -1, xsi:noNamespaceSchemaLocation
输出xml是
元素名称似乎已被修改,并且在顶部进行了额外的测试?我的错误在哪里?如何更改属性值?
谢谢你的帮助。
java - 如何使用 VTDGenHuge 将大型 xml 拆分为小块?
我想将大 xml 拆分成小块。我正在使用 VTDGen 将 xml 文件拆分为小块,它适用于文件大小 < 2 GB。VTD-xml 使用 IN-Memory 解析我不想将 xml 加载到内存中的 xml。所以我正在尝试使用 VTDGenHuge 映射内存。
代码适用于 VTDGen,但是当我使用 VTDGenHuge 时它不起作用。
我在“byte[] xml = vn.getXML().getBytes();”处得到 NULL 值 当你做 syso vn.getXML() 你得到对象值。但使用“getBytes()”返回 null。我不知道为什么。但是,如果您执行“byteAt(x)” x = any long value 它会返回值。
我的xml文件是:
我想像这样出去。
java - 如何使用 VTD-XML 解析器将嵌套的 XML 文件元素放入对象列表中?
我有很大的、非常嵌套的 XML 文件。所有实体和属性都将成为我的对象变量。我正在创建此类对象的列表。我知道如何使用 DOM、SAX 和 XMLPullParser 来做这件事,它工作得很好,但我对 VTD 解析器有问题。解析后的ListView为空。我将 XML 文件的一部分和我的代码放在下面。也许有人知道我做错了什么。
我的安卓代码:
感谢您的任何帮助!
xml - ubuntu下vtd-xml 2.11 c版编译报错
ximpleware_2.11_c在centos 6.5 64位下编译ok,但是在ubuntu 14.04 64位下有错误。
海湾合作委员会 说:
vtdNav.o:在函数'parseDouble'中:未定义对'pow'的引用
...对“fmod”的未定义引用
...未定义的对“地板”的引用
...对“ceil”的未定义引用
我检查了makefile,发现了'-lm'。
我的 vtd-xml 下载链接:http: //sourceforge.net/projects/vtd-xml/files/vtd-xml/ximpleware_2.11/
如何在 ubuntu 14.04 下构建它?感谢您的答复。
java - 如何提取 XPath 指向的所有值?
我有以下 xml
如何连接并获取 xpath 中的所有值/test/nodeA/nodeC
?在这种情况下,我的预期输出是value1value2
从我所读到的内容中,我不确定使用 xpath 是否可行,但感谢您的帮助。
PS:我正在使用来自 Ximpleware 的VTD-XML在 Java 中解析相同的内容。也欢迎任何基于 Java 的解决方案。目前我的java解决方案只给出了第一个值,即value1
xml - VTD-xml 在 VTDNav 上调用 remove() 后删除剩余的行
据我了解,这是一个已知问题,将在 VTD-XML 的后续版本中修复。从我目前的观察来看,这还没有解决。是否有专门设计好的解决方法?
删除内容后留下的新行真的很烦人,因为它破坏了文件从版本 x 到版本 x1 的差异。