3 回答

TA贡献1827条经验 获得超9个赞
它可能不是最有效的(您必须遍历每个PARAM元素,直到找到所需的元素,这可能是很多),但这将完成工作。
$x = simplexml_load_string($xmlString);
foreach($x->PARAMETER->PARAM as $param){
if((string)$param->attributes()->ID == "sitPag")
{
echo (string)$param->attributes()->VALUE;
break;
}
}

TA贡献1831条经验 获得超10个赞
使用 Xpath 表达式获取节点或值。 返回一个 SimpleXMLElement 实例数组。SimpleXMLElement::xpath()
$consulta = new SimpleXMLElement($xml);
$params = $consulta->xpath('PARAMETER/PARAM[@ID="sitPag"]');
$sitPag = isset($params[0]) ? (string)$params[0]['VALUE'] : '';
var_dump($sitPag);
在 DOM 中,您可以使用直接获取属性值:DOMXpath::evaluate()
$document = new DOMDocument();
$document->loadXML($xml);
$xpath = new DOMXpath($document);
$sitPag = $xpath->evaluate('string(/consulta/PARAMETER/PARAM[@ID="sitPag"]/@VALUE)');
var_dump($sitPag);

TA贡献1852条经验 获得超1个赞
在 DOM 中,您可以使用 DOMXpath::evaluate() 直接获取属性值:
$document = new DOMDocument();
$document->loadXML($xml);
$xpath = new DOMXpath($document);
$sitPag = $xpath->evaluate('string(/consulta/PARAMETER/PARAM[@ID="sitPag"]/@VALUE)');
var_dump($sitPag);
或
$x = simplexml_load_string($xmlString);
foreach($x->PARAMETER->PARAM as $param){
if((string)$param->attributes()->ID == "sitPag")
{
echo (string)$param->attributes()->VALUE;
break;
}
}
- 3 回答
- 0 关注
- 144 浏览
添加回答
举报