1
私はlxmlで解析したplistを持っています。ここのユーザーからの助けを借りて、私は追加したいアイテムを正しいフォーマットで持っていて、それらを追加することができます。私が今問題にしているのは、2つの異なるレベルのXMLファイルを使用して、次のような場合は、 "書籍"と "13"ではなく、 "ノート"と "13"の両方を使用するセットで "WUT"にテキストを挿入するにはどうすればよいですか?それとも別の方法ですか?2レベルのXMLを使用してノードを検索し、文字列を追加します
<root>
<key>Title</key>
<dict>
<key>Set</key>
<dict>
<key>Notes</key>
<dict>
<key>Tester</key>
<array>
<dict>
<key>13</key>
<dict>
<key>Param</key>
<array>
<string>WUT</string>
</array>
</dict>
<key>18</key>
<dict>
<key>Param</key>
<array>
<string>WUT</string>
</array>
</dict>
</dict>
</array>
</dict>
</dict>
<dict>
<key>Books</key>
<dict>
<key>Tester</key>
<array>
<dict>
<key>13</key>
<dict>
<key>Param</key>
<array>
<string>WUT</string>
</array>
</dict>
</dict>
</array>
</dict>
</dict>
</dict>
</root>
だから、理想的に私の新しいplistのは、次のようになります。私は、XPathやランニングを使用してみましたが
<root>
<key>Title</key>
<dict>
<key>Set</key>
<dict>
<key>Notes</key>
<dict>
<key>Tester</key>
<array>
<dict>
<key>13</key>
<dict>
<key>Param</key>
<array>
<string>1</string>
<string>2</string>
<string>3</string>
<string>4</string>
<string>5</string>
</array>
</dict>
<key>18</key>
<dict>
<key>Param</key>
<array>
<string>WUT</string>
</array>
</dict>
</dict>
</array>
</dict>
</dict>
<dict>
<key>Books</key>
<dict>
<key>Tester</key>
<array>
<dict>
<key>13</key>
<dict>
<key>Param</key>
<array>
<string>WUT</string>
</array>
</dict>
</dict>
</array>
</dict>
</dict>
</dict>
</root>
。
for plist_title in tree.xpath('//dict[key="Notes"][1]')
for plist_tester in plist_title.xpath('//dict[key="13"][1]')
plist_tester.insert(1,myData)
しかし、データは最後の "13"の後に挿入され、定義したいデータではありません。
再生できません。 [mcve]を投稿してください。あなたのコードスニペットの周りに私の試みが追加され、正しい場所にデータが置かれました。 –