【发布时间】:2016-06-21 11:30:46
【问题描述】:
我需要搜索的 xml 指定但不使用命名空间:
<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 elementtree