安全获取minidom XML子节点值

2024-10-01 09:30:16 发布

您现在位置:Python中文网/ 问答频道 /正文

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

<test>value</test>

这很好而且很简单,但是如果值为空或者元素不存在,那么我希望回到默认值。在Python中找不到简单的方法来实现这一点,所以我最终编写了以下函数:

^{pr2}$

我用这样的词来称呼这个词:

test = getXmlValue(node.getElementsByTagName('test'), '666')

这样做的工作,似乎工作良好,但似乎不是所有的效率或优雅。在

有更好的方法吗?还是有什么问题?在


Tags: 方法函数testnode元素value效率minidom
2条回答

既然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 ''

对我来说,似乎比尝试更好,除了。在

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

from xml.etree.ElementTree import ElementTree, fromstring

xml = '<test>value</test>'
root = fromstring(xml)
test = root.text or '666'

相关问题 更多 >