首页 > 解决方案 > 使用 python 从 XML 中获取信息

问题描述

我有这个 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList- 
1.0.dtd">
<plist version="1.0">
<dict>
   <key>UIRequiredDeviceCapabilities</key>
   <dict>
      <key>arm64</key>
      <true/>
  </dict>
  <key>artistId</key>
...
  <key>genre</key>
  <string>Travel</string>
  <key>genreId</key>
  <integer>6003</integer>
  <key>itemId</key>
  <integer>1260842311</integer>
</dict>

如何获得最后一个整数以itemID使用 python 获得?

1260842311

标签: pythonxml

解决方案


一种快速的方法是使用带有 XPath-1.0 表达式的ElementTree :

from xml.etree import ElementTree as ET 
lastInt = ET.parse('input.xml').findall("dict/integer[last()]")
for i in lastInt: 
  print i.text

ET.parse将上下文设置为名为 的 XML 的根元素plist。然后findall选择元素的最后一个integerdict元素。forthen 遍历找到integer的每个元素的最后一个dict元素。


推荐阅读