使用 Python,我尝试解析包含以下结构的 XML 文件:
<channel>
<index>1</index>
<values>
<entry>
<key>SRV_PARAM_CH_ENABLED</key>
<value xsi:type="xs:boolean" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">false</value>
</entry>
<entry>
<key>SW_PARAMETER_CH_LABEL</key>
</entry>
</values>
</channel>
如果 key 存在,如何获取 key
SRV_PARAM_CH_ENABLED
的值?
我正在使用
xml.dom.minidom
并且能够使用以下方式读取频道:
import xml.dom.minidom
xml_doc = xml.dom.minidom.parse(path)
root = xml_doc.documentElement
chns = xml_doc.getElementsByTagName('channel')
for chn in chns:
idxx = chn.getElementsByTagName('index')
idx = idxx[0].childNodes[0].data # Gets ch number
但在那之后我被难住了。
如果您搜索关键标签的文本,您可以执行以下操作:
import xml.dom.minidom
xml_doc = xml.dom.minidom.parse("example.xml")
root = xml_doc.documentElement
keys = root.getElementsByTagName('key')
# all values in your example
for t in keys:
print(t.firstChild.nodeValue)
# or only the firt element
print(keys[0].firstChild.nodeValue)
输出:
SRV_PARAM_CH_ENABLED
SW_PARAMETER_CH_LABEL
SRV_PARAM_CH_ENABLED