[英]Getting XML Attribute with XMLReader and PHP
我不明白為什么我不能引用XML屬性'headendId'。 我已經參考了幾篇文章,我的語法似乎還好嗎? 有人可以解釋我在做什么錯嗎? 提前致謝。
<?php
$reader = new XMLReader();
$reader->open('file.xml');
while($reader->read())
{
if($reader->nodeType == XMLREADER::ELEMENT && $reader->localName == 'headend')
{
//$reader->read();
$headend = (string)$reader->getAttribute('headendId');
echo $headend;
}
}
(xml是)
<lineup>
<headend headendId="something">
<name>some name</name>
<ids>ids</ids>
<codes>codes</codes>
</headend>
</lineup>
找到它后,不要使用->read()
進入下一個節點 (屬性不是節點):
while ($reader->read())
{
if ($reader->nodeType === XMLREADER::ELEMENT
&& $reader->localName === 'headend')
{
echo $reader->getAttribute('headendId');
}
}
它的工作方式與上次概述的類似:
require('xmlreader-iterators.php'); // https://gist.github.com/hakre/5147685
$elements = new XMLElementIterator($reader, 'headend');
foreach ($elements as $element) {
echo $element->getAttribute('headendId'), "\n";
}
XMLElementIterator
允許迭代特定元素,在這里您需要headend
元素。
然后,可以在每個元素上調用getAttribute()
方法來獲取headend headendId屬性的字符串值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.