如何使用python2.7迭代xml项的多个子节点

2024-03-28 14:51:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图以以下形式解析来自USPTO的不完整的结构化XML数据

<parent>
 <child>
  <child-text>text
  <child-text>more text</child-text>
  <child-text>more text</child-text>
  </child-text>
 </child>
</parent>

我正在尝试捕获子文本节点的所有文本。但是正如您所看到的,第一个子文本标记在所有剩余标记完成之前不会关闭。以下摘录是一个例子:

^{pr2}$

我当前的方法只是捕获第一个标记的内容,而没有充分地捕捉子元素的内容(如上面的示例中所示):

claims = self.xml.claim
for i, claim in enumerate(claims):
        data = {}
        data['text'] = claim.contents_of('claim_text', as_string=True, upper=False)

如何遍历所有的<claim-text>标记和<claim-ref>子标记,尽管结构不一致?在


Tags: 数据text标记文本child内容datamore
1条回答
网友
1楼 · 发布于 2024-03-28 14:51:34

我对xml文档也有类似的问题。我所做的是

<xml_document>[<xml_document>.find("<claim-text>")+len(<claim-text>):<xml_document>.find("</claim-text>")]

这将返回xml标记内的内容

然后使用if语句删除xml标记内容中的任何额外标记

if content contains [<\d>] then remove them by finding their indexes

对于每次迭代,通过索引删除xml_文档的解析部分。在

相关问题 更多 >