2

我有这个表格:

<item><parameter name="a">3</parameter></item>

是否可以使用 SimpleXML 读取“a”?

我已经尝试过 $xml->item->parameter->getName(); 但它只返回“参数”。

提前致谢。

4

3 回答 3

5

是的,使用attributes()方法SimpleXML

SimpleXML::attributes()

echo (string)$xml->item->parameter->attributes()->name;

键盘示例


替代解决方案正在使用xpath()

SimpleXML::xpath()

$name = $xml->xpath('item/parameter/@name');
echo $name[0];

键盘示例

xpath()总是返回数组(如果出错则返回 false),这就是为什么你需要将它分配给一个 var,或者如果你有php >= 5.4你可以使用数组解引用

echo $xml->xpath('item/parameter/@name')[0];
于 2012-07-05T09:28:30.337 回答
4

阅读有关 SimpleXML 函数的信息:attribute()

您可以使用它来获取元素的所有属性。
在你的情况下:

$attr = $xml->item->parameter->attributes();
$name = $attr['name'];
于 2012-07-05T09:29:33.200 回答
0

http://php.net/manual/en/simplexmlelement.attributes.php

xml:

<item>
 <parameter name="a">3</parameter >
</item>

php:

$xml = simplexml_load_string($string);
foreach($xml->parameter [0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}

// output
name="a"
于 2012-07-05T09:30:24.353 回答