我是ET的新手,但我找不到最简单的方法。我有一个XML文件,其中的关联值不是嵌套的,我需要从每个文件中提取文本,然后将它们推送到我稍后将操作的变量中。问题是知道如何获得每个价值。
示例XML:
<key>Creation Date</key>
<date>2012-08-18T16:53:23Z</date>
<key>Entry Text</key>
<string>This is some entry text</string>
<key>Location</key>
<dict>
<key>Administrative Area</key>
<string>State</string>
<key>Country</key>
<string>United States</string>
<key>Latitude</key>
<real>39.647493</real>
<key>Locality</key>
<string>City</string>
<key>Longitude</key>
<real>-84.11737579840</real>
<key>Place Name</key>
<string>123 street</string>
<key>State</key>
<string>auto</string>
</dict>
<key>Starred</key>
<false/>
<key>UUID</key>
<string>0B38EF885FB84F647GHT738</string>
正如您所看到的,标签并非真正以智能方式关联。例如,我将如何获得:
EntryText = [The <String> Text after <key> Entry Text]
所以EntryText会=这是一些条目文本
或
country = [<key>Location <dict> <key> Country <string>]
所以country = United States
感谢您的时间。
答案 0 :(得分:1)
您正在尝试解析OS X .plist
XML data structure。 Python已经附带了一个可以为您解析的模块; plistlib
。请改用:
import plistlib
result = plistlib.readPlist(filename)
print result['Entry Text']