问题标签 [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 投票
2 回答
481 浏览

xml - VTD XML - 缓冲区重用

我打算在 VTD 中使用 BufferReuse 功能。做了一个按要求工作的 POC。但我有一个基本的设计问题。这是我的问题陈述:我的应用程序中有近 1000 个 XML 文件,这些文件将经常被加载和解析。就像一秒钟内〜(10-20)次一样。1000 个 XML 文件的范围可以从 <1KB - ~1MB。所以为了优化代码,我想到了使用BufferReuse。

我的问题是:代码内部是否有将由 BufferReuse 功能处理的 XML 数量或 XML 集合大小的最大限制?考虑到在最坏的情况下,我将拥有 1000 MB(1000 个文件* 1MB)的 XML,它是否会过多地加载服务器?它在哪里存储这些解析的对象?我计划实现一个缓存层,它将存储每个 xmls 的 VTDNavigator(具有超时和可以缓存的最大大小)。如果我实现 bufferReuse,它实际上会对我做同样的事情还是有什么不同?

该代码最终将部署在具有非常好的规格的非常强大的服务器中。

0 投票
1 回答
174 浏览

xml - 跨 XML 重用 XPath 意味着什么?

我想了解跨 XML 重用 XPath 意味着什么?这是否意味着如果我解析 100 个 XML,我将只有一个 AutoPilot,并且只在每个 XML 中调用 AutoPilot.bind?

0 投票
1 回答
244 浏览

vtd-xml - 使用 1 个 AutoPilot 遍历一系列兄弟姐妹中的一系列兄弟姐妹?

我有一个如下所示的 XML。我想使用一个共享的 AutoPilot 遍历所有系列的兄​​弟姐妹。在 /a/b 上的 selectXPath 将我带到第一个 b 兄弟姐妹之后,我尝试使用相同的 AutoPilot 来 selectXPath 在 c 上,这将返回所有 c 兄弟姐妹。但是,在c遍历循环之后,我不知道如何带回b遍历循环的上下文。打算使用一个共享 AutoPilot 的目的是提高性能。有什么想法吗?

有了上面的 XML,我的动机是通过遍历 XML 的层次结构来获取值。实际上,要求是创建层次结构的 java 对象表示。为了实现这一点,我正在使用深度优先算法进行递归方法。下面只是为了展示我的意图,我只是为了循环。如前所述,在内部循环中,我被迫在循环内创建一个新的 AutoPilot 以维护遍历 /a/b 的另一个上下文。现在,我想知道如何才能拥有一台 AutoPilot。我试过他 vtd.push 和 vtd.pop。那没起效。

提前致谢。

0 投票
1 回答
145 浏览

xml - VTD-XML 修改大文件

据我所知,VTD-XML 能够处理大型 /GB/ xml 文件。您可以使用以下类: - VTDGenHuge - VTDNavHuge - AutoPilotHuge

但不幸的是,API 中没有 XMLModifierHuge。所以问题是如何修改/xml树中的一些元素将被插入/使用vtd的大型xml结构?

谢谢,

费伦茨

0 投票
1 回答
332 浏览

vtd-xml - 如何为 vtd-xml 设置编码?

问题是有一些 xml 文件在 xml 中没有可用的标头信息。解析 xml 文件时,vtd-xml 默认使用 utf-8 并抛出异常说 cannot parse document。(xml 编码是 8859-2,但没有标头信息。)

我尝试使用 -Dfile.encoding=iso-8859-2 但它没有帮助。

问题:如何为 xml 文件设置(默认)编码?

0 投票
1 回答
101 浏览

xml - 使用 VTD XMLModifier 创建 XML

您会推荐使用 XMLModifier 从头开始​​生成 XML 吗?或者只使用 java 所拥有的任何东西,比如 XMLWriter?

0 投票
1 回答
148 浏览

java - vtd-xml xpath,如何使用变量表达式?

我正在尝试从 xml 获取与用户输入字符串匹配的特定单词的定义:

代码:

上面的代码给了我所有的单词/定义,而不仅仅是那些与输入字符串匹配的。xpath 表达式是否正确?我做错了什么?

0 投票
1 回答
436 浏览

java - 在 VTD-XML 中使用 AutoPilot 时 XPath 评估失败

我有一堆 xml,其中包含带有命名空间的元素,我正在使用 VTD-XML 来解析该 xml。但是当我尝试使用 xpath 来获取命名空间元素时。它根本不会获取?这是xml示例

但是当我使用 xpath 作为

它工作正常但是,当我使用这个 xpath

不起作用。

请帮助我在评估 XPath 时如何忽略名称空间?

0 投票
1 回答
139 浏览

java - java VTD解析器逻辑

我在 java 中实现了 VTD-Parser,它成功地轻松解析了大约 500 MB 的 XML 文件,并且能够在 Excel 中写入。我了解DOM解析器首先创建了一个树节点结构然后获取数据,而SAX是一个基于事件的解析器。但是,是什么让 VTD 解析文件如此简单高效呢?我试着搜索,我得到了很多实现的例子,但从来没有得到逻辑。我尝试了下面的链接来了解这个想法,但没有得到清晰的图片。 VTD_Parser

如果有人可以解释这个简短的想法。

0 投票
2 回答
1084 浏览

java - 在 Java 中使用 VTD-XML 获取 XML 版本节点

我正在使用 VTD-XML 库解析 XML 文档,并且需要从文档中获取版本标记。

我的文件是这样的;

我需要得到这条线。

我该怎么做?