HereにあるSwift xmlパーサライブラリを使用しています。私は特定の値を持つ下のXMLから特定の値を取得するために探しています。XML応答スウィフトから値を取得
以下のXMLには、デバイスにインストールされているアプリのリストが表示され、各アプリの情報が一覧表示されます。のようなバージョンとアプリのサイズ。各<deviceSw>
は、デバイス上の別のアプリです。私は com.fiberlink.browserアプリからバージョンの値を取得したいと考えています。注意すべき点は、一部のデバイスでcom.fiberlink.browserが3番目のアプリケーションまたは4番目のアプリケーションとしてリストされている可能性があるため、デバイスで2番目のアプリケーションを取得できないということです。 com.fiberlink.browserの値をXMLで並べ替え、その値を取得する方法はありますか?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<deviceSoftwares>
<deviceSw>
<swAttrs>
<key>Application ID</key>
<type>string</type>
<value>com.fiberlink.maas360forios</value>
</swAttrs>
<swAttrs>
<key>Version</key>
<type>string</type>
<value>2.40.60</value>
</swAttrs>
<swAttrs>
<key>AppDataSize</key>
<type>string</type>
<value>2.09</value>
</swAttrs>
</deviceSw>
<deviceSw>
<swAttrs>
<key>Application ID</key>
<type>string</type>
<value>com.fiberlink.browser</value>
</swAttrs>
<swAttrs>
<key>Version</key>
<type>string</type>
<value>1.30.45</value>
</swAttrs>
<swAttrs>
<key>AppDataSize</key>
<type>string</type>
<value>0.51</value>
</swAttrs>
</deviceSw>
編集:私は、キーをループに以下のコードを試してみましたが、多分ロジックが後を通じてソートするが、それがnilの値を返します
。
for elem in xml["deviceSoftwares"]["deviceSw"].all {
print(elem["swAttrs"]["key"].element!.text!)
}
EDIT 2:
for elem in xml["deviceSoftwares"]["deviceSw"]["swAttrs"].all
{
print(elem["key"].element!.text)
}
と何も出力しない、そのちょうど空白の出力ウィンドウ:私は次のように私のコードを変更し
。
更新質問。 –
元の質問に追加 – Martheli