如何解析文件中的第二棵XML树

1 投票
1 回答
1067 浏览
提问于 2025-04-17 11:57

假设我有一个这样的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<items>
  <?xml version="1.0" encoding="utf-8"?>
  <items>
    <item>
      <price>1500</price>
      <info> asfgfdff</info>
    </item>
  </items>

我该如何解析这个文件,让解析器选择最近更新的XML树呢?

1 个回答

0
with open('file','r') as f:
    newestXml = []
    for line in f.readlines():
        if re.search('^<\?xml',line):
            newestXml = [line]
        else:
            newestXml.append(line)

在循环结束时,newestXml 会包含从最后一次出现的 <?xml 到文件结尾的所有行。

现在你可以把这些行合并起来,然后使用 XML 解析器来解析这些 XML 数据。

注意 - 我现在无法检查这段代码,所以可能会有一些小错误,但我希望这个思路能对你有所帮助。

撰写回答