给定一个搜索项,如何搜索XML中节点的属性并返回只包含那些与该项匹配的节点及其父母的XML方式跟踪到根节点。搜索一个XML并获得一个XML节点的子集
下面是输入XML的例子:
<root>
<node name = "Amaths">
<node name = "Bangles"/>
</node>
<node name = "C">
<node name = "Dangles">
<node name = "E">
<node name = "Fangles"/>
</node>
</node>
<node name = "Gdecimals" />
</node>
<node name = "Hnumbers"/>
<node name = "Iangles"/>
</root>
我正在寻找搜索词“角度”的输出:
<root>
<node name = "Amaths">
<node name = "Bangles"/>
</node>
<node name = "C">
<node name = "Dangles">
<node name = "E">
<node name = "Fangles"/>
</node>
</node>
</node>
<node name = "Iangles"/>
</root>
中的XPath,我用它来搜索XML是“包含(@ name,'angles')]”
我在Ruby中使用Nokogiri来搜索XML,它为我提供了一个与所有匹配术语。我无法弄清楚如何从这组节点构建XML。
谢谢!
编辑:修正了应该的例子。谢谢Dimitre。
编辑2:修正了格式良好的xml。
好问题(+1)。查看我的答案以获取解释和简单的XSLT解决方案。 – 2010-07-17 23:41:15