首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中从XML获取文本值

在Python中从XML获取文本值
EN

Stack Overflow用户
提问于 2009-09-16 16:02:08
回答 2查看 7.9K关注 0票数 4
代码语言:javascript
运行
复制
from xml.dom.minidom import parseString
dom = parseString(data)
data = dom.getElementsByTagName('data')

'data‘变量以element对象的形式返回,但我无法在文档中看到获取该元素的文本值。

例如:

代码语言:javascript
运行
复制
<something><data>I WANT THIS</data></something>

有谁有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-16 16:09:14

这应该能起到作用:

代码语言:javascript
运行
复制
dom = parseString('<something><data>I WANT THIS</data></something>')
data = dom.getElementsByTagName('data')[0].childNodes[0].data

也就是说,您需要更深入地研究DOM结构,以获取文本子节点,然后访问它的值。

票数 3
EN

Stack Overflow用户

发布于 2009-09-16 16:10:41

所以看待它的方式是“我想要这个”实际上是另一个节点。它是"data“的一个文本子元素。

代码语言:javascript
运行
复制
from xml.dom.minidom import parseString
dom = parseString(data)
nodes = dom.getElementsByTagName('data')

此时,"nodes“是一个数据,在您的示例中,它有一个项目,即”NodeList“元素。相应地,"data“元素也只有一个子节点,即文本节点"I WANT THIS”。

所以你可以这样做:

代码语言:javascript
运行
复制
print nodes[0].firstChild.nodeValue

请注意,如果您的输入中有多个名为"data“的标记,则应该对”节点“使用某种迭代技术,而不是直接对其进行索引。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1433907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档