我需要尋找指定,但不使用命名空間XML解析XML:使用python/elementree
<WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0">
<DATA>
<PROTECTINFO>
<KEYLEN>16</KEYLEN>
<ALGID>AESCTR</ALGID>
</PROTECTINFO>
<LA_URL>http://192.168.8.33/license/rightsmanager.asmx</LA_URL>
<LUI_URL>http://192.168.8.33/license/rightsmanager.asmx</LUI_URL>
<DS_ID></DS_ID>
<KID></KID>
<CHECKSUM></CHECKSUM>
</DATA>
</WRMHEADER>
我想閱讀的各個領域,例如值數據/ protectinfo/KEYLEN等
root = ET.fromstring(sMyXml)
keylen = root.findall('./DATA/PROTECTINFO/KEYLEN')
print root
print keylen
此代碼打印如下:
<Element {http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader}WRMHEADER at 0x7f2a7c35be60>
[]
root.find和root.findall返回None或[]對於這個查詢。我一直無法指定默認名稱空間,是否有解決方案來查詢這些值? 感謝
不用擔心,如果你是在Python做了很多工作,使用XML,你可能會發現有用LXML http://lxml.de/ –