嗨,当我试图过滤掉我的xml文档时,我被严重卡住了。以下是一些内容示例:
<sentence id="1" document_id="Perseus:text:1999.02.0029" >
<primary>millermo</primary>
<word id="1" />
<word id="2" />
<word id="3" />
<word id="4" />
</sentence>
<sentence id="2" document_id="Perseus:text:1999.02.0029" >
<primary>millermo</primary>
<word id="1" />
<word id="2" />
<word id="3" />
<word id="4" />
<word id="5" />
<word id="6" />
<word id="7" />
<word id="8" />
</sentence>
有很多句子(超过3000个),但我只想写一些代码(最好是用java或python编写),这些代码将遍历我的xml文件并删除所有具有5个单词id的句子, 换句话说,我只剩下5个或更少单词id的句子标签。谢谢。(只是要注意,我的xml不是很好,我与nodes/tags/element/ids混淆了。在
我试着用这台自动取款机,但不确定:
^{pr2}$
问题是
word
是一个标记,id
是它的属性;不能同时将它们都传递给.find()
。 另外,解析的结果是一个树,其中属性和文本的表示方式与在XML文件中不同。在我假设您有一个根元素,它有
<sentence>
个元素作为子元素。 您必须查看每个<sentence>
节点,计算其<word>
元素,并根据需要删除句子。在希望这有帮助。在
你似乎不了解ETree是如何工作的。请随意使用read the docs并在Python REPL中进行实验以获得理解。在
考虑一个不需要循环的XSLT解决方案。作为信息,XSLT是一种声明性的、特殊用途的语言,本机设计用于将XML文档转换为各种格式、样式和结构,以供最终使用。具体地说,标识转换按原样复制整个文档,并将空模板写入位置大于5的所有
<word>
节点。在XSLT脚本(另存为.xsl或.XSLT文件)
Python脚本
^{pr2}$XSLT的优点在于它是可传输的,因为实际上所有通用语言都维护XSLT处理器,包括Java:
Java脚本
输出(使用发布内容)
相关问题 更多 >
编程相关推荐