我有一个关于用xpath从多个xml文件读出节点内容的问题。我完全意识到,在这个问题上互联网上有大量资源,请相信我真的让我发疯。我想从路透社rcv1实验语料库的文件中读出信息。这个语料库中的所有文件共享相同的信息。我以这里的结构作为示例:用xpath从几个xml文件读出节点内容
<?xml version="1.0" encoding="iso-8859-1" ?>
<newsitem itemid="1000000" id="root" date="xxx" xml:lang="en">
<title>title title title</title>
<headline>headline headline headline</headline>
<byline>Jack Daniels</byline>
<dateline>Blabla</dateline>
<text>
<p> Paragraph 1 Paragraph 1 Paragraph 1 Paragraph 1 Paragraph 1 </p>
<p> Paragraph 2 Paragraph 2 Paragraph 2 Paragraph 2 Paragraph 2 </p>
<p> Paragraph 3 Paragraph 3 Paragraph 3 Paragraph 3 Paragraph 3 </p>
<p> Paragraph 4 Paragraph 4 Paragraph 4 Paragraph 4 Paragraph 4 </p>
</text>
<copyright>(c) Reuters Limited 1996</copyright>
<metadata>
<codes class="bip:countries:1.0">
<code code="MEX">
<editdetail attribution="Reuters BIP Coding Group" action="confirmed" date="1996-02-20"/>
</code>
</codes>
<codes class="bip:topics:1.0">
<code code="xxx">
<editdetail attribution="Reuters BIP Coding Group" action="confirmed" date="1996-08-20"/>
</code>
<code code="xxx">
<editdetail attribution="Reuters BIP Coding Group" action="confirmed" date="xxx"/>
</code>
<code code="xxx">
<editdetail attribution="Reuters BIP Coding Group" action="confirmed" date="xxx"/>
</code>
<code code="xxx">
<editdetail attribution="Reuters BIP Coding Group" action="confirmed" date="xxx"/>
</code>
<code code="xxx">
<editdetail attribution="Reuters BIP Coding Group" action="confirmed" date="xxx"/>
</code>
</codes>
<dc element="dc.publisher" value="Reuters Holdings Plc"/>
<dc element="dc.date.published" value="xxx"/>
<dc element="dc.source" value="Reuters"/>
<dc element="dc.creator.location" value="xxx"/>
<dc element="dc.creator.location.country.name" value="xxx"/>
<dc element="dc.source" value="Reuters"/>
</metadata>
</newsitem>
我的任务的最终目标是将这几千个文件转换为csv。我正在用软件rapidminer通过der xpath地址解决不同的节点内容。这对于所有点而言都是完全没有问题的,但是其中的内容。与/ newsitem/text/p/node()他总是只提供第一段。然而我要找的是从所有段落中提取所有纯文本。这意味着CSV文件应该看起来大约像:
标题,标题,日期,文本,位置 titleblabla,headlineblabla,XXX,第1款第2款第3款,在任何地方 othertitleblabla,otherheadlineblabla,otherdatexxx,其他款1款2段落3,无处可去
请问有人会这么好,如何通过xpath来实现这个目标。我也尝试了与字符串匹配的整个事情,但这需要年龄,另外我必须摆脱xml标签。
坦克你非常多,
亚历山大由给定的XPath表达式选择(绝望的XPath/XML新手)
非常感谢你的回答dimitre。然而,我已经尝试了这一点,这也是最接近我想要做的解决方案。不幸的是解析出来的文本包含所有的标签',
,'等等。是不是有一种方法直接处理段落的字符串? –