如何使用python解析XML

How to parse xml using python

本问题已经有最佳答案,请猛点这里访问。

我有以下XML文件:

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
    cq:lastReplicated="{Date}2016-03-02T15:23:40.679-05:00"
    cq:lastReplicatedBy="XXXXt"
    cq:lastReplicationAction="Activate"
    jcr:description="Procedure"
    jcr:mixinTypes="[cq:ReplicationStatus]"
    jcr:primaryType="cq:Tag"
    jcr:title="Lung Volume Reduction Surgery"
    sling:resourceType="cq/tagging/components/tag"/>

我正在尝试使用elementtree解析XML文件,但是我无法提取标签jcr:title下的"肺减容手术"。

我已经尝试过BeatiFulsoup、Regex和ElementTree,但无法做到。

下面是我用于元素树的代码:

1
2
3
import xml.etree.ElementTree as ET
xml="Actual xml document"
xml.find('./root').attrib['title']

我是XML解析的初学者。在这个XML文件上花费了3个多小时,但是无法解析EDOCX1的值(0),任何帮助都将非常感谢


这里有一种方法,使用xml.etree.elementtree

1
2
3
4
5
6
7
8
from xml.etree import ElementTree as ET

tree = ET.parse('input.xml')
root = tree.getroot()

jcr_namespace ="http://www.jcp.org/jcr/1.0"

print root.attrib[ET.QName(jcr_namespace, 'title')]