gpt4 book ai didi

python - 使用 2 级 XML 查找节点并添加字符串

转载 作者:太空宇宙 更新时间:2023-11-03 14:42:20 25 4
gpt4 key购买 nike

我有一个用 lxml 解析的 plist。感谢这里用户的帮助,我有一整套想要添加的项目,格式正确,并且可以添加它们。我现在遇到的麻烦是使用 2 个不同级别的 xml 文件来选择放置位置。如果我有以下内容,如何确保将我的文本插入到同时使用“Notes”和“13”的集合中的“WUT”上,而不是插入到“Books”和“13”中?或者反过来?

<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 应该是这样的:

<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>

我尝试过使用 xpath 并运行。

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”之后插入,而不是我想要定义的数据。

最佳答案

Python 中有一个很好的解析 XML 的库,名为 BeautifulSoup。检查以下链接。

我确信这不是您想要的答案,但有时授人以渔更好。

关于python - 使用 2 级 XML 查找节点并添加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com