亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在python中使用美麗的湯從xml文件中提取特定標簽

在python中使用美麗的湯從xml文件中提取特定標簽

慕的地6264312 2022-12-20 15:24:49
我有一個看起來像這樣的 xml 文件(讓我們調用它是 abc.xml)。<?xml version="1.0" encoding="UTF-8"?><properties>  <product name="XYZ" version="123"/>  <application-links>    <application-links>      <id>111111111111111</id>      <name>Link_1</name>      <primary>true</primary>      <type>applinks.ABC</type>      <display-url>http://ABC.displayURL</display-url>      <rpc-url>http://ABC.displayURL</rpc-url>    </application-links>  </application-links></properties>我的 python 代碼是這樣的f = open ('file.xml', 'r')from bs4 import BeautifulSoupsoup = BeautifulSoup(f,'lxml')print(soup.product)for applinks in soup.application-links:    print(applinks)打印以下內容<product name="XYZ" version="123"></product>Traceback (most recent call last):  File "parse.py", line 7, in <module>    for applinks in soup.application-links:NameError: name 'links' is not defined請你能幫我理解如何打印包含破折號/連字符'-'的標簽的行
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

我不知道beautifulsoup這里是否是最佳選擇,但我真的建議ElementTree像這樣在 python 中使用該模塊:


>>> import xml.etree.ElementTree as ET

>>> root = ET.parse('file.xml').getroot()

>>> for app in root.findall('*/application-links/'):

...     print(app.text)

111111111111111

Link_1

true

applinks.ABC

http://ABC.displayURL

http://ABC.displayURL

因此,要打印<name>標簽內的值,您可以這樣做:


>>> for app in root.findall('*/application-links/name'):

...     print(app.text)

Link_1


查看完整回答
反對 回復 2022-12-20
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號