2012-06-27 2 views
0
<XMLReport><Report> 
<Preflight errors="0" criticalfailures="0" noncriticalfailures="0" signoffs="0" fixes="0" warnings="10"> 
    <PreflightResult type="Check" level="warning"> 
    <PreflightResultEntry xml:lang="en-US"> 
     <Message>PDF/X-1a:20000 : PDF/X-1a:20000 output intent is missing </Message> 
     <StringContext> 
     <BaseString>PDF/X-1a:20000 : %PDFXVersion% output intent is missing</BaseString> 
     </StringContext> 
    </PreflightResultEntry> 
    </PreflightResult> 
</Preflight></Report> 

Я хочу, чтобы получить все значения/текст <Message> </Message> элемента с помощью LXML в Python.Как извлечь значение в XML с помощью LXML в Python

Благодаря

+2

(http://whathaveyoutried.com) – Amber

+0

название Вопрос должен иметь свой вопрос, а не то, что у вас есть. – pyfunc

ответ

2

Легко из lxml tuto: [? Что вы пробовали]

>>> from lxml import etree 
>>> s = """<Report> 
<Preflight errors="0" criticalfailures="0" noncriticalfailures="0" signoffs="0" fixes="0" warnings="10"> 
    <PreflightResult type="Check" level="warning"> 
    <PreflightResultEntry xml:lang="en-US"> 
     <Message>PDF/X-1a:20000 : PDF/X-1a:20000 output intent is missing </Message> 
     <StringContext> 
     <BaseString>PDF/X-1a:20000 : %PDFXVersion% output intent is missing</BaseString> 
     </StringContext> 
    </PreflightResultEntry> 
    </PreflightResult> 
</Preflight></Report> 
""" 
>>> root = etree.XML(s) 
>>> for message in root.findall('Preflight/PreflightResult/PreflightResultEntry/Message'): 
    print message.text 


PDF/X-1a:20000 : PDF/X-1a:20000 output intent is missing 
>>>