[英]Reading attribute values from XML file with php
使用具有以下结构的XML文件:
<?xml version="1.0"?>
<element>
<child attrName="something"/>
</element>
我可以用php读取带有表达式的attrName值:
<?php
$xml = simplexml_load_file("fileAbove.xml") or die("Error: Cannot create object");
foreach($xml->children() as $child) {
if($child->getName() == "element") {
$attrValue = $xml->xpath('/element/child/@attrName');
echo $attrValue;
}
}
?>
因此结果将是:
something
但是如何使用这种文件结构,无法从上面使用相同的PHP代码获得attrValue?
<?xml version="1.0"?>
<element someAttr="" otherAttr="">
<child attrName="attrValue"/>
</element>
我收到错误消息:
Notice: Undefined offset: 0
有人知道我想念什么吗?
谢谢
即使使用第一个示例,它也将返回null。 下面的代码应该可以解决您的问题。
fileAbove.xml:
<?xml version="1.0"?>
<element someAttr="" otherAttr="">
<child attrName="attrValue"/>
</element>
readchild.php
<?php
$xml = simplexml_load_file("fileAbove.xml") or die("Error: Cannot create object");
foreach($xml->child[0]->attributes() as $a) {
echo $a . "\n";
}
?>
结果如下:
[root@web01 temp]# php readchild.php
attrValue
[root@web01 temp]#
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.