ben*_*njy 113 php xml simplexml
我在访问@attributeSimpleXML对象的部分时遇到问题.当我var_dump整个对象,我得到正确的输出,当我var_dump对象的其余部分(嵌套标签),我得到正确的输出,但当我按照文档var_dump $xml->OFFICE->{'@attributes'},我得到一个空对象,尽管事实上第一个var_dump清楚地表明有输出的属性.
任何人都知道我在这里做错了什么/我如何才能做到这一点?
zys*_*oft 126
试试这个
$xml->attributes()->Token
Run Code Online (Sandbox Code Playgroud)
Nie*_*Bom 85
您可以通过调用XML节点上的attributes()函数来获取XML元素的属性.然后,您可以var_dump函数的返回值.
更多信息,请访问php.net http://php.net/simplexmlelement.attributes
该页面的示例代码:
$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
echo $a,'="',$b,"\"\n";
}
Run Code Online (Sandbox Code Playgroud)
Bor*_*ora 50
之前我曾经多次使用过这种情况@attributes,而且时间有点长.
$att = $xml->attributes();
echo $att['field'];
Run Code Online (Sandbox Code Playgroud)
它应该更容易,您可以一次只获取格式的属性:
$xml['field'];
Run Code Online (Sandbox Code Playgroud)
其他替代方案是:
$xml->attributes()->{'field'};
Run Code Online (Sandbox Code Playgroud)
$xml->attributes()->field;
$xml->{"@attributes"}->field;
$xml->attributes('field');
$xml->attributes()['field'];
$xml->attributes->['field'];
Run Code Online (Sandbox Code Playgroud)
Art*_*cto 40
$xml = <<<XML
<root>
<elem attrib="value" />
</root>
XML;
$sxml = simplexml_load_string($xml);
$attrs = $sxml->elem->attributes();
echo $attrs["attrib"]; //or just $sxml->elem["attrib"]
Run Code Online (Sandbox Code Playgroud)
使用SimpleXMLElement::attributes.
事实是,SimpleXMLElement get_properties处理程序非常重要.没有名为"@attributes"的属性,所以你做不到$sxml->elem->{"@attributes"}["attrib"].
不幸的是,我有一个独特的 PHP 5.5 版本(暂时使用 Gentoo),我发现
$xml->tagName['attribute']
Run Code Online (Sandbox Code Playgroud)
是唯一有效的解决方案。我尝试了Bora上面的所有方法,包括“Right & Quick”格式,但都失败了。
事实上,这是最简单的格式是一个优点,但我不喜欢认为我疯狂地尝试其他人所说的所有格式。
很喜欢它的价值(我有没有提到独特的构建?)。
| 归档时间: |
|
| 查看次数: |
125056 次 |
| 最近记录: |