XML文件中包含的命名空間XML訪問屬性值:如何使用ElementTree的Python中
<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF xmlns:cim="http://iec.ch/TC57/2008/CIM-schema-cim13#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cim:Terminal rdf:ID="A_T1">
<cim:Terminal.ConductingEquipment rdf:resource="#A_EF2"/>
<cim:Terminal.ConnectivityNode rdf:resource="#A_CN1"/>
</cim:Terminal>
</rdf:RDF>
我想要得到的Terminal.ConnnectivityNode元素的屬性值和終端元素的屬性值也從上面的輸出XML。我嘗試了以下方法!
Python代碼:
from elementtree import ElementTree as etree
tree= etree.parse(r'N:\myinternwork\files xml of bus systems\cimxmleg.xml')
cim= "{http://iec.ch/TC57/2008/CIM-schema-cim13#}"
rdf= "{http://www.w3.org/1999/02/22-rdf-syntax-ns#}"
追加了下面一行的代碼
print tree.find('{0}Terminal'.format(cim)).attrib
輸出1::不出所料
{'{http://www.w3.org/1999/02/22-rdf-syntax-ns#}ID': 'A_T1'}
如果我們用這個附加在上面的鱈魚線以下Ë
print tree.find('{0}Terminal'.format(cim)).attrib['rdf:ID']
輸出2:在RDF關鍵錯誤:ID
如果我們用這個追加下面一行的上面的代碼
print tree.find('{0}Terminal/{0}Terminal.ConductivityEquipment'.format(cim))
OUTPUT3無
如何獲得output2 as A_T1 & 輸出3 as#A_CN1?
在上面的代碼中{0}的意義是什麼,我發現它必須通過網絡使用纔沒有得到它的意義呢?
Nitpick:'#A_T1'在XML文檔中找不到。只有'A_T1' – mzjn
sry感謝編輯 – Nikhil