使用PHP创建格式错误的XML?

时间:2012-10-25 10:15:16

标签: php xml

我正在创建一个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在第一行的单独行上有关,只是不知道如何让它上线。

任何帮助表示感谢。

由于

1 个答案:

答案 0 :(得分:2)

首先,XML很好。不确定它是如何被解释为“畸形”的。换行不应该影响任何事情。

其次,您确定他们的“格式错误”消息不仅仅是您的XML不符合预定义架构的情况吗?

第三,你发送的内容类型是什么? application / xml还是text / xml?因为我遇到了某些应用程序只接受其中一个或另一个的问题。

第四,你确定你实际上正确发送了这个XML吗?您是否尝试将其发送到开发中的URL,以便您可以自行解析并验证它?