如何在Python中使用lxml提取xml中的值

2024-10-01 04:44:54 发布

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

<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>

我想在Python中使用lxml获取<Message> </Message>元素中的所有值/文本。在

谢谢


Tags: reportmessageoutputpdfismissingerrorsintent
1条回答
网友
1楼 · 发布于 2024-10-01 04:44:54

很容易从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 
>>> 

相关问题 更多 >