4

私は次のxmlコードスニペットを持っています:

<a>
  <b> textb <b>
  <c> textc <c>
  <d> textd <d>
<\a>
<a>
  <b> textb <b>
  <c> textc <c>
  <d> textd <d>
<\a>

私はxml::twigそれを以下のように解析するために使用します:

my @c= map { $_->text."\n" } $_->findnodes( './a/');

textbtextctextdを配列の1つの要素として取得します。findnodes textb、textc、textedを1つではなく3つの配列要素として取得するオプションはあります か?

4

2 に答える 2

4

式の最後に星を使用します。

$_->findnodes( './a/*');

*」は任意のタグに一致するため、3 つの子ノードを取得します。現在の例は「a」にのみ一致し、そのテキストはネストされた要素のテキストの連結です。

于 2011-10-06T09:11:47.353 に答える
2

XML::Twig 3.39 (およびそれ以降) ではfindvalue、文字列の配列を取得するために使用できます。

my @c = $_->findvalue('./a/');
于 2011-10-06T11:28:34.810 に答える