當前位置:成語大全網 - 新華字典 - 初學Python求助Python解析xml

初學Python求助Python解析xml

1. 我上面這段xml代碼,壹開始沒有註意看,在每壹個元素的結尾元素中都含有轉義符,這就是為什麽我用xml解析插件時壹直保報錯的原因,因為他不是正規的xml格式。我的方法是用正則替換掉:re.sub(r'(<)\\(/.+?>)',r'\g<1>\g<2>',f_xml) 對於Python中的正則re的sub用法

2. 處理成正規的xml格式後,我這裏還是用ElementTree來解析的,但在加載時又報錯:

cElementTree.ParseError: XML or text declaration not at start of entity: line 2, column 0

這個錯誤我在網上沒有找到合適的答案,不過根據字面意思來解決,就是在開頭的地方有錯誤。這裏我嘗試這吧xml的文檔聲明給去掉了,居然沒有報錯。這裏有些不理解為什麽不能加? 我的方法:f_xml=test_xml.replace('<?xml version="1.0" encoding="gbk"?>','')

3. 然後再加載,就能獲取到相應的節點了。

主要代碼如下:

f_xml=test_xml.replace('<?xml version="1.0" encoding="gbk"?>','')

mat=re.sub(r'(<)\\(/.+?>)',r'\g<1>\g<2>',f_xml)

xml_root_doc=ET.fromstring(f_xml)

print(xml_root_doc)