gpt4 book ai didi

java - 逐行解析Java中的XML

转载 作者:行者123 更新时间:2023-11-30 09:05:16 25 4
gpt4 key购买 nike

我想用 Java 逐行解析一个 XML 文件,因为我得到的文件的框架与平常有点不同。它不是嵌套的;每个标签各占一行。

部分 XML 文件:

<sentence><flag>3</flag></sentence>
<word><text>Zdravo</text></word>
<phoneme><onephoneme>z</onephoneme></phoneme>
<phoneme><onephoneme>d</onephoneme></phoneme>
<phoneme><onephoneme>r</onephoneme></phoneme>
<phoneme><onephoneme>"a:</onephoneme></phoneme>
<phoneme><onephoneme>v</onephoneme></phoneme>
<phoneme><onephoneme>O</onephoneme></phoneme>
<sentence><flag>0</flag></sentence>
<word><text>moje</text></word>
...

我搜索并找到了很多不同的方法来解析 XML 文件,但所有这些方法都会扫描整个文件,我不想要那样,因为我的文件几乎有 10 万行,现在(甚至以后)我只需要前 800 行,因此逐行解析会快得多。我不知道我提前真正需要多少行,但我想计算我到达标签并在特定计数处停止的次数(现在是 17 - 在第 800 行左右)。

我找到的教程:

每个句子然后被分成单词,每个单词被分成音素,所以最后我有 3 个 ArrayLists:标志、单词和音素。

我希望我给了你足够的信息。

谢谢。

最佳答案

行与 XML 并不真正相关,您可以在一行中包含所有 100K 行的 XML。您需要做的是按您解析的元素/节点进行计数。使用 SAX 解析器,它是基于事件的,它会在元素开始和结束时通知您。每当您获得一个元素时,您有兴趣解析增量计数器,这假设您知道您感兴趣的元素,从您的示例中,这些元素将是:

<sentence>
<word>
<phoneme>

等等

关于java - 逐行解析Java中的XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com