2016-05-31 3 views
-1

У меня есть ниже XML-файл:Как разобрать XML с помощью Python

<?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"/> 

Я пытаюсь разобрать файл XML с помощью ElementTree, но я не смог извлечь «Lung операции по уменьшению объема», который находится под бирка jcr:title.

Я уже пробовал с BeatifulSoup, Regex и ElementTree, но не в состоянии сделать это

Ниже приведен код, который я использовал для дерева элементов:

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

Я новичок в XML разборе .. и провел более 3-х часов в настоящее время на этом XML-файл, но не смог разобрать значение jcr:title Любая помощь будет принята с благодарностью

+1

Вам необходимо использовать пространство имен –

ответ

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

Большое спасибо Rob :) –

Смежные вопросы