簡體   English   中英

使用Python從XML文件中提取信息?

[英]Using Python to extract information from a XML file?

在使用Python從XML文件中提取信息方面,誰能提供一些幫助? 這將是我的示例XML。

<root>
    <number index="2">
        <info>
            <info.RANDOM>Random Text</info.RANDOM>
        </info>
</root>

我要打印的是根標簽之間的信息。 但是,我希望它按原樣打印它,這意味着我嘗試了itertext()來表示所有標簽,標簽之間的文本以及標簽內的內容(在這種情況下為number index =“ 2”),但是這樣可以刪除標簽,並僅打印根標簽之間的文本。 到目前為止,我有一個臨時解決方案,該解決方案僅打印出element.tag和element.text,但不打印出結束標記和標記中的內容。 任何幫助,將不勝感激! :)

以s作為輸入,

s='''<root>
      <number index="2">
        <info>
            <info.RANDOM>Random Text</info.RANDOM>
        </info>
        </number>
</root>'''

查找具有標簽名稱number所有標簽,然后使用ET.tostring()將標簽轉換為字符串

import xml.etree.ElementTree as ET
root = ET.fromstring(s)
for node in root.findall('.//number'):
  print ET.tostring(node)

輸出:

<number index="2">
        <info>
            <info.RANDOM>Random Text</info.RANDOM>
        </info>
        </number>
from bs4 import BeautifulSoup

xml = "<root><number index=\"2\"><info><info.RANDOM>Random Text</info.RANDOM></info></root>"
soup = BeautifulSoup(xml, "xml")

output = soup.prettify()
print(output[output.find("<root>") + 7:output.rfind("</root>")])    

root>\\n+ 7帳戶root>\\n

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM