我正在努力使用python解析xml文件,因为它有一个嵌套结构。
我的XML文件如下所示
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="menu.Activities.MainMenuActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name="menu.Activities.LoginActivity2"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="menu.Activities.validateInfoActivity"
android:label="Confirmar información" />
<service
android:name="services.notificationService"
android:enabled="true"
android:exported="true"></service>
<provider android:name="DataBase.businessCore"
android:authorities="com.mercasavip.business.core" android:exported="true"/>
</application>
我希望在两个变量中获取“StorageArray”的信息,比如
Key&amp;值。例如。 (键应该得到值“objectID”&amp; value应该得到“ARRAY.R800.20454”等等循环中的所有剩余项目。“StorageArray”中有超过50个项目因此我截断了XML文件
我将打印出以下值
<?xml version="1.0" encoding="UTF-8"?>
<DvMCLIResult version="8.6.0-00">
<CommandResult command="GetStorageArray">
<StorageArray objectID="ARRAY.R800.20454" name="POD1_SU73CYBSVSPF01"
description="VSP G1500 (20454) at 10.181.35.238" serialNumber="20454"
arrayFamily="R800" arrayType="R800" ...output truncated as I have similar 50
values...... />
</CommandResult>
</DvMCLIResult>
我的代码:
Key,Value
objectID,ARRAY.R800.20454
name,POD1_SU73CYBSVSPF01
description,VSP G1500 (20454) at 10.181.35.238
serialNumber,20454
arrayFamily,R800
arrayType,R800 and so on
答案 0 :(得分:0)
你的问题在于这一行:
items=element.getchildren()
StorageArray
元素没有任何子元素;它只有属性。
你应该改用:
items = element.attrib
items
将是一个字典,然后您可以迭代...
{'objectID': 'ARRAY.R800.20454',
'name': 'POD1_SU73CYBSVSPF01',
'description': 'VSP G1500 (20454) at 10.181.35.238',
'serialNumber': '20454',
'arrayFamily': 'R800',
'arrayType': 'R800'}