我正在创建一个XML文件,通过HTTP发送给一个应用程序,该应用程序建议以下代码生成格式错误的XML。
有人可以告诉我哪里出错吗?
$doc = new DOMDocument();
// Creating
$admin = $doc->createElement('AdminRequest');
// Add to doc
$doc->appendChild($admin);
// Creating
$secretAttr = $doc->createAttribute('secret');
$secretAttr->value = $this->secret;
// Append to Admin
$admin->appendChild($secretAttr);
// Creating
$versionAttr = $doc->createAttribute('version');
$versionAttr->value = '3.6';
// Append to admin
$admin->appendChild($versionAttr);
// Creating
$del = $doc->createElement('Delete');
// Appending to Admin
$admin->appendChild($del);
// Creating
$user = $doc->createElement('User');
$nameAttr = $doc->createAttribute('name');
$nameAttr->value = $username;
// Appending to User
$user->appendChild($nameAttr);
// Appending to delete
$del->appendChild($user);
// For debugging
echo $doc->saveXML();
输出如下:
<?xml version="1.0"?>
<AdminRequest secret="secretcode" version="3.6"><Delete><User name="auser"/></Delete></AdminRequest>
我有一种感觉,这与AdminRequest在第一行的单独行上有关,只是不知道如何让它上线。
任何帮助表示感谢。
由于
答案 0 :(得分:2)
首先,XML很好。不确定它是如何被解释为“畸形”的。换行不应该影响任何事情。
其次,您确定他们的“格式错误”消息不仅仅是您的XML不符合预定义架构的情况吗?
第三,你发送的内容类型是什么? application / xml还是text / xml?因为我遇到了某些应用程序只接受其中一个或另一个的问题。
第四,你确定你实际上正确发送了这个XML吗?您是否尝试将其发送到开发中的URL,以便您可以自行解析并验证它?