我想从此 xml 获取 name="userID"
参数的值“23452345235”:
<?xml version="1.0" encoding="UTF-8"?>
<callout>
<parameter name="UserID">
23452345235
</parameter>
<parameter name="AccountID">
57674567567
</parameter>
<parameter name="NewUserID">
54745674566
</parameter>
</callout>
我正在使用此代码:
$xml = simplexml_load_string($data);
$myDataObject = $xml->xpath('//parameter[@name="UserID"]');
var_dump($myDataObject);
我得到了这个:
array(1) {
[0] =>
class SimpleXMLElement#174 (1) {
public $@attributes =>
array(1) {
'name' =>
string(6) "UserID"
}
}
}
我实际上想获取'23452345235'的值或者接收参数以获得这个值。
我做错了什么?
最佳答案
你可以(可选)将它放在一个循环下。像这样:
$myDataObject = $xml->xpath('//parameter[@name="UserID"]');
foreach($myDataObject as $element) {
echo $element;
}
或者直接:
echo $myDataObject[0];
实际上非常简单,如您的 var_dump()
所示,它是一个数组,因此可以这样访问它。
关于php - 使用 php 中的 xpath 属性从 xml 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843308/