[英]Attempting to work with SOAP 1.2 response from W3 validator
if($xml = simplexml_load_file($validationURL . "&output=soap12"))
{
echo "Success";
}
else
{
echo "Failed";
}
因此,這始終失敗。 $ validationURL是“ http://validator.w3.org/check?uri=http://uvm.edu/~mfurland/cs148/assign1/projects.php”
http://validator.w3.org/check?uri=http://uvm.edu/~mfurland/cs148/assign1/nav.php&output=soap12在瀏覽器中有效,但在我的代碼中不起作用。 如果我使用file(),則會得到一個數組,但所有字符串都是一串看不見的字符。 就像它有一個二十或三十的字符串,看起來像“ 0”。 我在這里做錯了什么? 似乎沒有其他人有這個問題。
在瀏覽器中查看文件的內容:
<m:uri>http://www.uvm.edu/~mfurland/cs148/assign1/projects.php</m:uri>
<m:checkedby>http://validator.w3.org/</m:checkedby>
<m:doctype>HTML5</m:doctype>
<m:charset>utf-8</m:charset>
<m:validity>true</m:validity>
<m:errors>
<m:errorcount>0</m:errorcount>
<m:errorlist></m:errorlist>
</m:errors>
<m:warnings>
<m:warningcount>1</m:warningcount>
<m:warninglist></m:warninglist>
</m:warnings>
</m:markupvalidationresponse>
</env:Body>
</env:Envelope>
我經常必須與使用名稱空間的Web服務進行通信。 您有兩種選擇: 使用SimpleXML注冊名稱空間,或從標記中刪除:
字符。
刪除:
可能更容易,但不是最整潔的選擇,具體取決於您要對數據執行的操作。
刪除冒號:
$xml_content = file_get_contents($validationURL . '&output=soap12');
$xml_content = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $xml_content);
$xml = simplexml_load_string($xml_content);
另外,要使用名稱空間,請參閱本文使用SimpleXML使用名稱空間解析XML。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.