2012-11-19 75 views
0

我是很新的ET,但我找不到要做到這一點最簡單的方法。我有一個XML文件,其中沒有嵌套的相關值,我需要從每個文件中提取文本,並將它們推入我稍後將要處理的變量中。問題是知道如何獲得每個價值。使用ElementTree的找到<key><string>信息

示例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>] 

所以國家=美國

謝謝您的時間。

回答

1

您正試圖解析OS X .plist XML data structure。 Python已經有了一個可以解析你的模塊; plistlib。改用:

import plistlib 

result = plistlib.readPlist(filename) 
print result['Entry Text'] 
+0

太棒了!非常感謝。 – sosukeinu

相關問題