gpt4 book ai didi

php - 空白 "DOMNodeList"通过 Xpath 读取 XML

转载 作者:行者123 更新时间:2023-12-03 00:59:40 24 4
gpt4 key购买 nike

我试图通过下面给出的 XML 通过下面的 PHP 代码读取“SIM”的值,但由于某种原因它给了我一个空白的“DOMNodeList”知道我在这里做错了什么吗?我想将该元素设置为

<ns1:SIM old="8902"> 000000 </SIM>

我该怎么做,因为我正在尝试使用下面的代码来找到它,但输出似乎是“DOMNodeList”空。

$xpath = new DOMXPath($doc);
$xpath->registerNamespace('ns1', 'http://www.example.com/WSG/ec/');
$result = $xpath->query("/ns1:ModifySIMRequest/ns1:ServiceProfile/ns1:Primary/ns1:SIM");
foreach ($result AS $node) {
var_dump($node);
echo $node->nodeValue;
}

$doc 中的 XML 是

<?xml version="1.0"?>
<ns1:ModifySIMRequest xmlns:ns1="http://www.example.com/WSG/ec/">
<ns1:ServiceProfile>
<ns1:Speech>
<ns1:MSN>33808089</ns1:MSN>
<ns1:AccountNumber>8989895</ns1:AccountNumber>
</ns1:Speech>
<ns1:Primary action="mod">
<ns1:BillingOption>dsdsd</ns1:BillingOption>
<ns1:SIM old="8902"/>
</ns1:Primary>
</ns1:ServiceProfile>
</ns1:ModifySIMRequest>

最佳答案

获取属性

        echo $node->getAttribute('old');  // 8902

设置值

        $node->nodeValue = '000000';
echo $doc->saveXML(); // <ns1:SIM old="8902">000000</ns1:SIM>

关于php - 空白 "DOMNodeList"通过 Xpath 读取 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47320885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com