我从客户那里得到了一个示例XML字符串,我想将其转换为DOMDocument。我似乎无法获得第一个节点......
字符串看起来像这样;
<ev:Events xmlns:ev="xsdEvents" xsi:schemaLocation="xsdEvents [url]" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Node>
<OtherNode>value</OtherNode>
</Node>
</ev:Events>
我如何通过PHP中的DOMDocument以正确的方式设置它?
答案 0 :(得分:5)
好吧,将XML字符串加载到DOMDocument对象并不是那么难 - 您只需使用DOMDocument::loadXML()
。
例如,在您的情况下,您将使用:
$string = <<<XML
<ev:Events xmlns:ev="xsdEvents" xsi:schemaLocation="xsdEvents [url]" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Node>
<OtherNode>value</OtherNode>
</Node>
</ev:Events>
XML;
$dom = new DOMDocument();
$dom->loadXML($string);
然后,访问您的数据只需使用相关的DOM方法。
例如,要提取<OtherNode>
节点的值,可以使用:
$items = $dom->getElementsByTagName('OtherNode');
if ($items->length > 0) {
var_dump( $items->item(0)->nodeValue );
}