我試圖寫在Perl子程序時的一些子節點的文本值規定將在XML刪除一個給定節點使用。定影的XPath謂詞在XML ::嫩枝
鑑於XML,如:
<Path>
<To>
<My>
<Node>
<ChildA>ValA</ChildA>
<ChildB>ValB</ChildB>
<ChildC>ValC</ChildC>
</Node>
</My>
</To>
</Path>
<!-- A lot of siblings follow... -->
我使用XPath表達式基本上是:
/Path/To/My/Node[ChildA="ValA" and ChildB="ValB" and ChildC="ValC"]
當我試圖運行我的劇本,我發現了一個錯誤,如:
Error in XPath expression
/Path/To/My/Node[ChildA="ValA" and ChildB="ValB" and ChildC="ValC"] at
ChildA="ValA" and ChildB="ValB" and ChildC="ValC" at Twig.pm line 3353
我很茫然,我正在尋找建議。我試着用搜索引擎周圍,但我無法找到工作的努力在XML::Twig
使用謂詞像這樣的例子。我不知道問題出在我的XPath語法或如何我使用XML::Twig
。
良好的措施,我也試着:
/Path/To/My/Node[ChildA/text()="ValA" and ChildB/text()="ValB" and ChildC/text()="ValC"]
沒有運氣,要麼。解決辦法是什麼?
您使用與'findnodes'或作爲一個'twig_handlers'觸發這體現在哪裏? 'findnodes',由肖恩提到,將允許您使用所有的XPath的,只要你使用XML ::嫩枝:: XPath的。觸發處理程序的謂詞更加有限,您需要有一個處理'Node'的測試孩子值的處理程序。 – mirod