<table>
<col1>check1</col1>
<col2>check2</col2>
<col3>check3</col3>
<content>
<data>gt1</data>
<data>check_gt1</data>
</content>
<content>
<data>gt2</data>
<data>check_gt2</data>
</content>
</table>
我需要
我有下面的XML我寫了下面的代碼來處理這個XML
my $parser = XML::LibXML->new(); my $respDom = $parser->parse_string($xmldata); my @rowNodes = $respDom->getDocumentElement->findnodes("//content"); if(scalar @rowNodes > 0) { print "\nRow nodes size is ".scalar @rowNodes."\n"; foreach my $rowNode (@rowNodes) { my $colNode = $rowNode->findnodes("//data")->[0]; my $num = $colNode->textContent; print "\nNUM is ".$colNode; } }
顯示的節點「內容」大小我的結果是2.但它在循環內返回「gt1」兩次,在第二次迭代中不返回「gt2」。
有什麼我需要改變呢?
// content中的'*'使代碼爲我返回0'@ rowNodes'。用'// content'它會給出你描述的行爲。請修復這個問題。 – simbabque
謝謝。修復了問題 – Aravind