Thanx阅读。我有一个 simplexmlElement 对象。我得到了这个结果:
SimpleXMLElement Object ( [item] => Array ( [0] => SimpleXMLElement Object ( [key] => memberCard [value] => memberCard ) [1] => SimpleXMLElement Object ( [key] => AuthToken [value] => Auth-Token ) ) )
当我使用此代码时:
$xml=simplexml_load_file('get.xml');
print_r($xml->clientSide[0]->item);
现在我试图获得关键价值,但我不能,我试过了
print_r($xml->clientSide[0]->item[0]->item[0]->key);
但结果是:
SimpleXMLElement Object ( [0] => memberCard )
我不知道如何获取关键节点值。 原始的xml文件是:
<?xml version="1.0" encoding="UTF-8"?>
<xs:mapping xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:IM-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<serverSide xsi:type="IM-ENC:Array"></serverSide>
<clientSide xsi:type="IM-ENC:Array">
<item xsi:type="ns2:Map">
<item>
<key xsi:type="xs:string">memberCard</key>
<value xsi:type="xs:string">memberCard</value>
</item>
<item>
<key xsi:type="xs:string">AuthToken</key>
<value xsi:type="xs:string">Auth-Token</value>
</item>
</item>
</clientSide>
</xs:mapping>
非常感谢任何帮助或想法。
答案 0 :(得分:1)
您必须明确转换为string
:
print_r((string)$xml->clientSide[0]->item[0]->item[0]->key);
因此,您调用方法SimpleXMLElement::__toString
答案 1 :(得分:0)
您可以使用foreach
循环遍历所有键值对。
foreach ($xml->clientSide->item->item as $k=>$child)
{
echo $child->key;
echo "<br>";
echo $child->value;
echo "<br><br>";
}