使用PHP在DOM上查找(XML)节点
我在使用domdocumentphp查找WSDL(XML)文档上的某个节点时遇到问题。当我使用getElementsByTagName时,它总是返回NULL。我将要找到的是xsd:complexType,但当我尝试不同的节点(比如类型)时,它会返回一个对象 这是我的WSDL(XML)文档使用PHP在DOM上查找(XML)节点,php,xml,dom,wsdl,Php,Xml,Dom,Wsdl,我在使用domdocumentphp查找WSDL(XML)文档上的某个节点时遇到问题。当我使用getElementsByTagName时,它总是返回NULL。我将要找到的是xsd:complexType,但当我尝试不同的节点(比如类型)时,它会返回一个对象 这是我的WSDL(XML)文档 我将要找到的是xsd:complexType,或者如果可能的话,如何通过具有唯一值的属性名(verifyingCode或其他)查找,如何通过PHP和DOMDocument实现这一点?除了您对的结束标记不正确
我将要找到的是xsd:complexType,或者如果可能的话,如何通过具有唯一值的属性名(verifyingCode或其他)查找,如何通过PHP和DOMDocument实现这一点?除了您对
的结束标记不正确(最后一行)之外,我看不出有任何问题
$doc = new DOMDocument();
$doc->loadXML($xml);
$complexTypes = $doc->getElementsByTagName('complexType');
printf('<p>Found %d complexType elements</p>', $complexTypes->length);
foreach ($complexTypes as $complexType) {
echo $complexType->getAttribute('name'), '<br>';
}
$doc=newDOMDocument();
$doc->loadXML($xml);
$complexTypes=$doc->getElementsByTagName('complexType');
printf(“找到%d个complexType元素,$complexTypes->length”);
foreach($complexTypes作为$complexType){
echo$complexType->getAttribute('name'),“
”;
}
演示-
您可能在标记名查询中包含了xsd
名称空间。如果阅读,您将看到getElementsByTagName()
指定的参数
要匹配的标记的本地名称(不带命名空间)
我在查询中包含xsd名称空间,这是可行的。谢谢:)
$doc = new DOMDocument();
$doc->loadXML($xml);
$complexTypes = $doc->getElementsByTagName('complexType');
printf('<p>Found %d complexType elements</p>', $complexTypes->length);
foreach ($complexTypes as $complexType) {
echo $complexType->getAttribute('name'), '<br>';
}