我正在創建一個接受XML文檔的web服務,我所要做的就是發送一個true或false。 我的問題是如何驗證我接收到的XML並驗證每個節點是否有值。驗證XML數據驗證是否有值
例如,這將驗證:
<ItemUpdate>
<ItemNmbr>1234</ItemNmbr>
<ItemDesc>Part Number 1 - More info goes here</ItemDesc>
<ItemPrice>8.25</ItemPrice>
<Model>TC12B</Model>
</ItemUpdate>
但此數據不會
<ItemUpdate>
<ItemNmbr></ItemNmbr>
<ItemDesc>Part Number 1 - More info goes here</ItemDesc>
<ItemPrice></ItemPrice>
<Model>TC12B</Model>
</ItemUpdate>
下面是我如何處理數據爲止。我打開recomendations如果有什麼我失蹤:
<?PHP
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
$dataPOST = trim(file_get_contents('php://input'));
$xmlData = simplexml_load_string($dataPOST);
//VALIDATE $xmlData;
if ($xmlData){
echo true;
}else{
echo false;
}
}
?>
的模式可以是當前腳本的一部分?還是它必須在另一個文件?感謝您的信息。 +1 – Denoteone
如果你想使用它作爲嵌入在你的文件中的字符串,你可以使用['DOMDocument :: schemaValidateSource'](http://www.php.net/manual/en/domdocument.schemavalidatesource.php)。然而,我會發現分開保存.xsd模式更方便,以便其他將來的代碼可以輕鬆使用它。 – Wrikken