如何使用python解析xml

时间:2016-05-31 21:18:00

标签: python xml beautifulsoup elementtree parsexml

我有以下xml文件:

<?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但无法做到这一点

以下是我用于Element Tree的代码:

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

我是XML解析的初学者..现在花了3个多小时在这个XML文件上,但无法解析jcr:title的价值任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

这是一种方法,使用xml.etree.ElementTree

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')]