使用php domxml读取xml文件时出错?

使用php domxml读取xml文件时出错?,php,xml,domdocument,xml-namespaces,Php,Xml,Domdocument,Xml Namespaces,我有一个文件test.xml <?xml version="1.0" encoding="UTF-8"?> <item> <dc:creator><![CDATA[hello world]]></dc:creator> </item> =>错误无法获取值,如何获取,结果是“hello world”您使用了错误的元素名称。方法getElementsByTagName需要本地名称,即在您的情况下的creator 如果加载示例X

我有一个文件test.xml

<?xml version="1.0" encoding="UTF-8"?>
<item>
<dc:creator><![CDATA[hello world]]></dc:creator>
</item>

=>错误无法获取值,如何获取,结果是“hello world”

您使用了错误的元素名称。方法
getElementsByTagName
需要本地名称,即在您的情况下的
creator

如果加载示例XML,您可以看到这一点

<?xml version="1.0" encoding="UTF-8"?>
<item>
<dc:creator><![CDATA[hello world]]></dc:creator>
</item>
这里的“dc”是一个名称空间,它不被视为“标记名”的一部分。尝试
<?xml version="1.0" encoding="UTF-8"?>
<item>
<dc:creator><![CDATA[hello world]]></dc:creator>
</item>
<?xml version="1.0" encoding="UTF-8"?>
<item xmlns:dc="ns:1">
<creator><![CDATA[hello world 2]]></creator>
</item>
$dcUri   = $doc->lookupNamespaceUri('dc');
$authors = $item->getElementsByTagNameNS($dcUri, 'creator');
$author  = $authors->item(0)->nodeValue;