特定の XML 構造について
<films>
<title>Jaws</title>
<year>1975</year>
<title>Spaceballs</title>
<year>1987</year>
</films>
xpath で連結された各ノードのnode name
andを出力するにはどうすればよいですか? text
お気に入り
title: Jaws
year: 1975
title: Spaceballs
year: 1987
特定の XML 構造について
<films>
<title>Jaws</title>
<year>1975</year>
<title>Spaceballs</title>
<year>1987</year>
</films>
xpath で連結された各ノードのnode name
andを出力するにはどうすればよいですか? text
お気に入り
title: Jaws
year: 1975
title: Spaceballs
year: 1987
純粋な XPath では、バージョン 2.0: が必要です//*[not(*)]/concat(local-name(), ': ', .)
。XPath 1.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