python minidom xml解析

2024-09-30 01:20:58 发布

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

我试图在用minidom解析xml文件时找到一种获取索引号的方法。 xml看起来像这样

<stuff>
    <morestuff>
        <sometag>catagory1</sometag>
        <path pathversion="1">/path Im looking to for</path> #<--info i'm after
        <path pathversion="2">/path I don't need</path>
        <path pathversion="3">/path I don't need</path>
    </morestuff>
    <morestuff>
        <sometag>catagory2</sometag>
        <path pathversion="1">/other path I'm looking for</path> #<--info i'm after
        <path pathversion="2">/path I don't need</path>
        <path pathversion="3">/path I don't need</path>
    </morestuff>
</stuff>

我想做这样的事

^{pr2}$

Tags: 文件path方法infoforxmlneeddon
2条回答

像基思建议的那样使用etree怎么样:-

['/path Im looking to for', "/other path I'm looking for"]

使用此代码:-

^{pr2}$

这将创建包含所需信息的字典:

import xml.dom.minidom
doc = xml.dom.minidom.parseString(test)

paths = {}

for element in doc.getElementsByTagName('morestuff'):
    # get the text value of the sometag tag
    category = element.getElementsByTagName('sometag')[0].firstChild.nodeValue

    # get all the paths which are children of the morestuff element
    for path in element.getElementsByTagName('path'):
        if path.getAttribute('pathversion') == '1':
            pathstr = path.firstChild.nodeValue
            paths[category] = pathstr

print paths

我得到的输出是:

^{pr2}$

相关问题 更多 >

    热门问题