问题标签 [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 回答
88 浏览

java - JVM 运行时内存/net beans 运行时内存/带参数的 JVM 运行时内存(VTD-Parser)

我正在解析一个 600MB大小差不多的文件。

以下是文件运行时的内存使用情况

-Xms1g1] 当使用运行时 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 命令中专门给出内存时它给出了正确的输出,为什么它会抛出?

在此处输入图像描述

0 投票
1 回答
615 浏览

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()

有任何想法吗?

0 投票
1 回答
761 浏览

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 循环正确显示所有值,但并非所有值都被修改。只有一个

出现在输出文件中。你能帮我找到解决问题的方法吗?代码有什么问题?为什么输出中只有一个修改值?

谢谢你的帮助!

0 投票
1 回答
490 浏览

xml - 使用 vtd-xml 从 xml 文件中删除注释,删除注释

有没有办法从 vtd-xml 解析的巨大 xml 文件(>200 MB)中删除评论?

两者,根元素之前的注释

和里面的评论

最好的解决方案是使用 xPath。我试过了

它适用于 DOM 但不适用于 vtd-xml

这是我选择评论的代码

但是这里什么都没有打印到屏幕上。

有没有办法用 vtd xml 做到这一点?

谢谢你的帮助。

0 投票
1 回答
103 浏览

xml - 使用 vtd-xml 和 xPath 修改 XMLSchema 位置

有没有办法修改 vtd-xml 解析的 XML 模式位置?

xml 文件看起来像

最好的解决方案是使用 xPath。我试过

它适用于 DOM 但不适用于 vtd-xml

这是我的代码

打印到屏幕的结果是:10, -1, xsi:noNamespaceSchemaLocation

输出xml是

元素名称似乎已被修改,并且在顶部进行了额外的测试?我的错误在哪里?如何更改属性值?

谢谢你的帮助。

0 投票
2 回答
361 浏览

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文件是:

我想像这样出去。

0 投票
1 回答
1228 浏览

java - 如何使用 VTD-XML 解析器将嵌套的 XML 文件元素放入对象列表中?

我有很大的、非常嵌套的 XML 文件。所有实体和属性都将成为我的对象变量。我正在创建此类对象的列表。我知道如何使用 DOM、SAX 和 XMLPullParser 来做这件事,它工作得很好,但我对 VTD 解析器有问题。解析后的ListView为空。我将 XML 文件的一部分和我的代码放在下面。也许有人知道我做错了什么。

我的安卓代码:

感谢您的任何帮助!

0 投票
1 回答
49 浏览

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 下构建它?感谢您的答复。

0 投票
4 回答
365 浏览

java - 如何提取 XPath 指向的所有值?

我有以下 xml

如何连接并获取 xpath 中的所有值/test/nodeA/nodeC?在这种情况下,我的预期输出是value1value2

从我所读到的内容中,我不确定使用 xpath 是否可行,但感谢您的帮助。

PS:我正在使用来自 Ximpleware 的VTD-XML在 Java 中解析相同的内容。也欢迎任何基于 Java 的解决方案。目前我的java解决方案只给出了第一个值,即value1

0 投票
1 回答
153 浏览

xml - VTD-xml 在 VTDNav 上调用 remove() 后删除剩余的行

据我了解,这是一个已知问题,将在 VTD-XML 的后续版本中修复。从我目前的观察来看,这还没有解决。是否有专门设计好的解决方法?

删除内容后留下的新行真的很烦人,因为它破坏了文件从版本 x 到版本 x1 的差异。