投影和保存结构

时间:2017-02-12 07:44:48

标签: xpath subset projection

以下文件

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

如何选择所有孩子,只有他们各自的前两个孙子?即我想回来

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

即。孙子女不再包含在他们各自的孩子中。

非常感谢您的建议和指示! BB

1 个答案:

答案 0 :(得分:0)

Xpath用于选择xml中的标记,而不是修改它。你想修改子标签,xpath不能这样做。

但您可以使用lxmlxml库来解析xml并对其进行修改。