首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用minidom解析XML

使用minidom解析XML
EN

Stack Overflow用户
提问于 2011-07-12 22:24:00
回答 1查看 897关注 0票数 0

我有一个XML文件,我想从某些标记中提取数据,这些标记只嵌套在其他标记中,即包含我要提取的数据的标记出现在XML文档的其他位置。

示例XML:

代码语言:javascript
复制
<root>
    <tag1>content I don't want</tag1>
    <tag2>content I don't want</tag2>
    <tag3>content I don't want</tag3>
    <item>
        <tag1>content I want</tag1>
        <tag2>content I want</tag2>
        <tag3>content I want</tag3>
    </item>
    <item>
        <tag1>content I want</tag1>
        <tag2>content I want</tag2>
        <tag3>content I want</tag3>
    </item>
</root>

Python代码(它检索所有数据,包括我不想要的标签):

代码语言:javascript
复制
for counter in range(2):
    variable0 = XML_Document.getElementsByTagName('item')[counter]
    variable1 = XML_Document.getElementsByTagName('tag1')[counter].toxml(encoding="utf-8")
    variable2 = XML_Document.getElementsByTagName('tag2')[counter].toxml(encoding="utf-8")
    variable3 = XML_Document.getElementsByTagName('tag3')[counter].toxml(encoding="utf-8")
    print counter
    print variable1
    print variable2
    print variable3

如何修改循环,使其仅访问嵌套在项目标记中的标记中的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-12 23:54:35

您始终可以在任何子节点上调用getElementsByTagName()

代码语言:javascript
复制
for item in XML_Document.getElementsByTagName('item'):
    tag1 = item.getElementsByTagName('tag1')[0].toxml(encoding="utf-8")
    tag2 = item.getElementsByTagName('tag2')[0].toxml(encoding="utf-8")
    tag3 = item.getElementsByTagName('tag3')[0].toxml(encoding="utf-8")
    print tag1, tag2, tag3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6665725

复制
相关文章

相似问题

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