xmlコードからノードのタグを保持する方法はありますか?問題の説明は次のようになります。xml入力があり、入力を照会し、照会された項目のxml出力を取得したい。
<pets>
<dog>
<name>Maggie</name>
<dob>12 October 2005</dob>
<price>75</price>
<owner>Rosie</owner>
</dog>
</pets>
//pets/dog
Perlプログラムでアクセスすると、出力は次のようになります。
<?xml version='1.0' standalone='yes'?>
<dog>
Maggie
12 October 2005
75
Rosie
</dog>
textContent
タグを保持するためのパラメータを関数に与える方法はありますか?これは、ノードをハッシュに入れて出力するサイクルコードのブロックです。
$parser = XML::LibXML->new();
$data = $parser->load_xml(string => $takeninput);
$xml = new XML::LibXML::XPathContext($data);
$i = 0;
for $node ($xml->findnodes('//pets/dog'))
{
$name = $node->nodeName;
$hash{$name}[$i] = $node->textContent;
$i++;
}
子供のタグを保持するには?このような出力を得るには:
<?xml version='1.0' standalone='yes'?>
<dog>
<name>Maggie</name>
<dob>12 October 2005</dob>
<price>75</price>
<owner>Rosie</owner>
</dog>
回答ありがとうございます。