我正在使用Python查看these files内部: 每个zip包含一个xml文件,其基本名称与zip文件相同。 每个xml文件都是数千个单独xml文件的串联,我将其分成单个文件。其中一些XML文件有一个看起来像这样的标签我在解析树中找不到这些标签。到目前为止我使用以下代码:
import os
import xml.etree.cElementTree as cET
fname = 'extracted_xmls/ipg140107/1163_G_08622343.xml'
parsed = cET.parse(fname)
root = parsed.getroot()
if root.tag == "us-patent-grant":
bibref = root.find('us-bibliographic-data-grant')
pubref = bibref.find('publication-reference')
prefix = "G"
elif root.tag == "sequence-cwu":
pubref = root.find('publication-reference')
prefix = "S"
else:
print fname, "...uncoded tag"
for g in root.iter():
if g.tag == 'description':
print g.tag
for ga in g.iter():
print ga.tag
for g in root.findall('?GOVINT'):
print g
但是没有出现。我认为这些带有问号的特殊标签被称为“处理指令”,但我无法弄清楚如何提取它们。任何评论,指针,特别是遍历这些内容的代码片段都将受到赞赏。
elementTree的文档说parse命令忽略任何注释或处理指令。所以现在的问题是 - 是否有解析器没有这样做?
答案 0 :(得分:0)
答案是这样的: 带有问号的标签不是真正的标签。他们是处理指令。"根据ElementTree的文档,在解析过程中会忽略处理指令。