給定一個搜索項,如何搜索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