投影和保留结构
Projection and preserve structure
以下文档
<root>
<child no=1>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
<grandchild no=3></grandchild>
</child>
<child no=2>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
<grandchild no=3></grandchild>
<grandchild no=4></grandchild>
</child>
</root>
我如何 select 所有 children 以及它们各自的前两个 grandchildren? IE。我想 return
<child no=1>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
</child>
<child no=2>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
</child>
我的尝试//child/grandchild[@no=1 or @no=2]
只给了我
<grandchild no=1></grandchild>,
<grandchild no=2></grandchild>,
<grandchild no=1></grandchild>,
<grandchild no=2></grandchild>
即grandchildren 不再包含在它们各自的 children.
中
非常感谢您的建议和指点!
bb
Xpath用于selectxml中的标签,不能修改。你想修改子标签,xpath 做不到。
但是您可以使用lxml
或xml
库来解析xml并修改它。
以下文档
<root>
<child no=1>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
<grandchild no=3></grandchild>
</child>
<child no=2>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
<grandchild no=3></grandchild>
<grandchild no=4></grandchild>
</child>
</root>
我如何 select 所有 children 以及它们各自的前两个 grandchildren? IE。我想 return
<child no=1>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
</child>
<child no=2>
<grandchild no=1></grandchild>
<grandchild no=2></grandchild>
</child>
我的尝试//child/grandchild[@no=1 or @no=2]
只给了我
<grandchild no=1></grandchild>,
<grandchild no=2></grandchild>,
<grandchild no=1></grandchild>,
<grandchild no=2></grandchild>
即grandchildren 不再包含在它们各自的 children.
中非常感谢您的建议和指点! bb
Xpath用于selectxml中的标签,不能修改。你想修改子标签,xpath 做不到。
但是您可以使用lxml
或xml
库来解析xml并修改它。