我想选择具有包含单词“Rock”的属性的所有节点,但我不确定如何使用 PHP 的 SimpleXML 库来完成此操作。我尝试将星号(通配符)字符附加到属性值,但这不起作用。
这是 XML 文件的片段。
<?xml version="1.0" encoding="Shift-JIS"?>
<CDs>
<Cat Type="Rock">
<CD>
<Name>Elvis Prestley</Name>
<Album>Elvis At Sun</Album>
</CD>
<CD>
<Name>Elvis Prestley</Name>
<Album>Best Of...</Album>
</CD>
</Cat>
<Cat Type="RocknRoll">
<CD>
<Name>The Beatles</Name>
<Album>Best of...</Album>
</CD>
</Cat>
<Cat Type="JazzBlues">
<CD>
<Name>B.B. King</Name>
<Album>Singin' The Blues</Album>
</CD>
<CD>
<Name>B.B. King</Name>
<Album>The Blues</Album>
</CD>
</Cat>
</CDs>
这是我的PHP代码:
<?php
$xml = new XMLReader();
$xml->open("MusicCatalog.xml") or die ("can't open file");
foreach($xml->xpath("Cat[@Type='Rock*']/@Type") as $c) {
print($c) . PHP_EOL;
}
?>
非常感谢你。