[英]Python XML ElementTree not reading node with &
我有一個 XML,其中一個節點在字符串中包含“&”:
<uid>JAMES&001</uid>
現在,當我嘗試使用以下代碼閱讀整個 xml 時:
tree = et.parse(fileName)
root = tree.getroot()
ids = root.findall("uid")
我在上述節點的鏈接上收到錯誤:
xml.etree.ElelmentTree.ParseError: not well-formed (invalid token): line17, column 21
該代碼在沒有“&”的其他情況下工作正常。 估計是斷線了
可以用編碼修復嗎? 如何? 我搜索了其他問題,但找不到答案。
TIA
您需要先對 xml 進行消毒,因為它的形狀不正確。
您需要替換有問題的&
- 類似.replace("&", "&")
一種使用方法:
with open(fileName, 'r+') as f:
read_data = f.read()
doc = ET.fromstring(read_data.replace("&", "&"))
print(doc.find('./uid').text)
Output,給定您的樣本,應該是
JAMES&001
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.