from xml.dom.minidom import parseString
dom = parseString(data)
data = dom.getElementsByTagName('data')
'data'变量作为元素对象返回,但我不能在生活中看到文档中抓取元素的文本值。
例如:
<something><data>I WANT THIS</data></something>
有人有什么想法吗?
答案 0 :(得分:4)
所以看待它的方式是“我想要这个”实际上是另一个节点。它是“数据”的文本孩子。
from xml.dom.minidom import parseString
dom = parseString(data)
nodes = dom.getElementsByTagName('data')
此时,“nodes”是NodeList,在您的示例中,它有一个项目,即“data”元素。相应地,“data”元素也只有一个子节点,它是一个文本节点“I WANT THIS”。
所以你可以这样做:
print nodes[0].firstChild.nodeValue
请注意,如果输入中有多个名为“data”的标记,则应在“节点”上使用某种迭代技术,而不是直接将其编入索引。
答案 1 :(得分:3)
这应该可以解决问题:
dom = parseString('<something><data>I WANT THIS</data></something>')
data = dom.getElementsByTagName('data')[0].childNodes[0].data
即。您需要深入了解DOM结构以获取文本子节点,然后访问其值。