📅  最后修改于: 2023-12-03 14:45:19.726000             🧑  作者: Mango
XMLReader类是一个轻量级的解析器,用于解析XML文档。XMLReader moveToAttributeNo()方法用于移动到指定索引的属性。
public bool XMLReader::moveToAttributeNo( int $attributeIndex );
attributeIndex
:属性的索引。可以是从0开始的整数或属性名称。
如果成功移动到属性,则返回true
,否则返回false
。
$xml = '
<book>
<title>PHP Programming</title>
<author>John Doe</author>
<year>2021</year>
</book>
';
$reader = new XMLReader();
$reader->xml($xml);
while ($reader->read()) {
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == "book") {
while ($reader->moveToNextAttribute()) {
if ($reader->name == "year") {
$reader->moveToAttributeNo(0);
echo $reader->value; // 输出:2021
}
}
}
}
以上示例中,我们首先创建了一个带有title
,author
和year
属性的XML字符串。然后我们使用XMLReader解析此字符串。在while循环中,我们遍历整个文档,直到找到book
元素。在找到year
属性时,我们使用moveToAttributeNo()
方法将游标移动到year
属性的索引位置,然后使用value
属性输出属性值。
moveToAttributeNo()
方法只能用于元素节点。moveToAttribute()
方法。