以下是XML示例代码。
<m:ad xmlns:m="http://www.w3c.org/soap">
<title><![CDATA[TITLE]]></title>
<phone>123456789</phone>
<attributeGroup>
<attribute id="14" name="A1">40</attribute>
<attribute id="15" name="A2">50</attribute>
</attributeGroup>
</m:ad>
我只知道PHP XMLReader获取值
$reader = new XMLReader();
if ($reader->name == "title" && $reader->nodeType ==XMLReader::ELEMENT) {
echo $reader2->read(); // will get TITLE
}
但是如何获得属性A1,A2。我想得到40和50两个。
答案 0 :(得分:5)
$reader = new XMLReader();
$reader->xml('<m:ad xmlns:m="http://www.w3c.org/soap">
<title><![CDATA[TITLE]]></title>
<phone>123456789</phone>
<attributeGroup>
<attribute id="14" name="A1">40</attribute>
<attribute id="15" name="A2">50</attribute>
</attributeGroup>
</m:ad>');
while ( $reader->read() ) {
if ( $reader->nodeType ==XMLReader::ELEMENT && $reader->name == "attribute" ) {
printf("id=%s, name=%s\n", $reader->getAttribute('id'), $reader->getAttribute('name'));
}
}
打印
id=14, name=A1
id=15, name=A2