1

特定の XML 構造について

<films>
  <title>Jaws</title>
  <year>1975</year>
  <title>Spaceballs</title>
  <year>1987</year>
</films>

xpath で連結された各ノードのnode nameandを出力するにはどうすればよいですか? textお気に入り

title: Jaws
year: 1975
title: Spaceballs
year: 1987
4

2 に答える 2

1

純粋な XPath では、バージョン 2.0: が必要です//*[not(*)]/concat(local-name(), ': ', .)。XPath 1.0 しかない場合は、既に表示されている要素を選択してから、名前と内容を出力する必要があります。

于 2013-10-26T12:04:32.360 に答える
0

これはどうですか:

$xml = <<<EOF
<films>
  <title>Jaws</title>
  <year>1975</year>
  <title>Spaceballs</title>
  <year>1987</year>
</films>
EOF;

$doc = new DOMDocument();
$doc->loadXML($xml);
$selector = new DOMXpath($doc);

foreach($selector->query('/films/*') as $child) {
    echo $child->nodeName . ': ' . $child->nodeValue . PHP_EOL;
}

? 出力:

title: Jaws
year: 1975
title: Spaceballs
year: 1987
于 2013-10-26T11:22:24.523 に答える