report_type
에 대해이 SOAP 응답을 구문 분석하고 name
값을 얻는 방법에 대한 권장 사항이 있습니까? name에는 두 개의 인스턴스가 있습니다. 하나는 report_type
이고 다른 하나는 severity
입니다. 여기 PHP에서 네임 스페이스로 SOAP 응답을 구문 분석
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns1:getIRResponse xmlns:ns1="http://ws.icontent.idefense.com/V3/2">
<ns1:return xsi:type="ns1:IRResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns1:report_type>
<ns1:id>0</ns1:id>
<ns1:name>Original Vulnerability</ns1:name>
</ns1:report_type>
<ns1:severity>
<ns1:id>0</ns1:id>
<ns1:name>HIGH</ns1:name>
</ns1:severity>
</ns:return>
</ns1:getIRResponse>
</soapenv:Body>
</soapenv:Envelope>
입니다 내가 사용 PHP 코드입니다 :
<?php
$xml = simplexml_load_string($response);
$xml->registerXPathNamespace('ns1', 'http://ws.icontent.idefense.com/V3/2');
foreach ($xml->xpath('//ns1:report_type/name') as $item)
{
echo 'Name: '.$item,'<br>';
}
?>
PHP 코드는 아무것도 표시하지 않습니다는. ($xml->xpath('//ns1:name') as $item)
을 사용하면 두 가지 이름 (Original Vulnerability and High)이 반환됩니다.
나는 바보 같은 것을 놓친다는 것을 알고있다. 제발 도와 줄 수있어? 미리 감사드립니다.
왜 처음부터 XML을 구문 분석해야하는지 질문 할 수 있습니까? 내장 SOAP 클라이언트를 사용하지 않고이 데이터를 다른 수단을 통해 소싱하고 있습니까? – Scuzzy