Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 安全地获取minidomxml子节点值_Python_Xml_Minidom - Fatal编程技术网

Python 安全地获取minidomxml子节点值

Python 安全地获取minidomxml子节点值,python,xml,minidom,Python,Xml,Minidom,我第一次使用Python和minidom,希望从元素中获得一个值,例如: <test>value</test> test = getXmlValue(node.getElementsByTagName('test'), '666') 为此,我使用以下方法: <test>value</test> test = getXmlValue(node.getElementsByTagName('test'), '666') 这项工作做得很好,似乎很好

我第一次使用Python和minidom,希望从元素中获得一个值,例如:

<test>value</test>
test = getXmlValue(node.getElementsByTagName('test'), '666')
为此,我使用以下方法:

<test>value</test>
test = getXmlValue(node.getElementsByTagName('test'), '666')
这项工作做得很好,似乎很好,但似乎没有那么高效或优雅


是否有更好的方法来执行此操作,或者此操作是否有任何问题?

如果使用
ElementTree
,应该会容易得多

from xml.etree.ElementTree import ElementTree, fromstring

xml = '<test>value</test>'
root = fromstring(xml)
test = root.text or '666'
从xml.etree.ElementTree导入ElementTree,fromstring
xml='value'
root=fromstring(xml)
test=root.text或“666”
既然childNodes将成为一个数组,那么就做一次长度检查,然后再做其他决定怎么样。在我的一些代码中,我有如下内容。如果childNode.length>0,则我为childNode[0]数据分配一个字符串,否则仅为空字符串

                my_element = alertitem.getElementsByTagName('solution')[0]
                result.mydata= my_element.childNodes[0].data if my_element.childNodes.length > 0 else ''

在我看来,这似乎比“尝试除外”要好。

这似乎是一种完全合理的方法,可以无误地获取值。