- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XML::DOM / XML::XPathでソート)
XML::DOM / XML::XPathで効率的なソートの方法とは?
このQ&Aのポイント
- XML::DOM / XML::XPathを使用して効率的なソートを行う方法について教えてください。
- 現在作成したソート方法は動作するものの効率的ではなく、またソート項目が一意のデータである必要があります。
- XML::DOMでハッシュを使用したソート方法は通用せず、別の良い方法があるのか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
use XML::DOM::XPath; my $xml = <<EOM; <?xml version="1.0" encoding="UTF-8" ?> <list> <item id="10">Apple</item> <item id="5">Orange</item> <item id="20">Melon</item> </list> EOM my $parser = XML::DOM::Parser->new(); my $doc = $parser->parse( $xml ); ## <item>タグの一覧を作成 my @list = $doc->findnodes('/list/item'); foreach my $node ( sort { $a->getAttribute('id') <=> $b->getAttribute('id') } @list){ print $node->getAttribute('id')."\n"; print $node->getFirstChild->getNodeValue."\n"; }
お礼
あ! そうか…それぞれのオブジェクトがもう別物なのだから $a、$bをオブジェクトに置き換えればそのままですね。 ものすごく単純な見落としをしていました。 ありがとうございます!!