我需要转换 IOB 格式的 XML 文件。
XML 文件代表了Latex 编写的论文的结构,即具有部分和小节。在这种表示中,部分被编码为 BODY,然后我有一个 HEADER,然后是段落或小节。
例子:
<DIV DEPTH="1">
<HEADER ID="H-8"> Practical Results </HEADER>
<P TYPE="TXT">
<S ID="S-56" TYPE="TXT"> To assess its performance , <REF REFID="R-12" ID="C-36">Grover et al. 1993</REF> tried various methods . </S>
<S ID="S-57" TYPE="TXT"> The grammar is defined in metagrammatical formalism which is compiled into a unification-based ` object grammar ' -- a syntactic variant of the Definite Clause Grammar formalism <REF REFID="R-21" ID="C-37">Pereira and Warren 1980</REF> -- containing 84 features and 782 phrase structure rules . </S>
<DIV DEPTH="2">
<HEADER ID="H-9"> Comparing the Parsers </HEADER>
<P TYPE="TXT">
<S ID="S-61" TYPE="TXT"> In the first experiment , the ANLT grammar was loaded and a set of sentences was input to each of the three parsers . </S>
</P>
<IMAGE ID="I-0"/>
</DIV>
我想要做的是保留所有文本,但将其转换为不同的格式,即我想删除 BODY 结构,只需像这样标记 HEADER 和文本部分:
Practical/B-Header Results/I-Header ./O
To/B-Text assess/I-Text its/I-Text performance/I-Text ,/I-Text Grover/I-Text et/I-Text al./I-Text tried/I-Text various/I-Text methods/I-Text ./O
The/B-Text grammar/I-Text ... ./O
等等。
我知道一些 Java 中的 DOM 解析(例如,我一直在使用 jdom2 一段时间)但我不知道如何保持文本的顺序:例如,我想获取 REF 标签的内容(位于 S 内部,请看示例),但其父级的文本在 REF 标记之前和之后扩展。
任何指针?应该相当简单,但是像“在一定深度后去除 XML 标签”这样的搜索对我没有帮助:-(