-2

次のコードが不正な形式の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が最初の行とは別の行にあることと関係があると感じていますが、それをどのように取得するかがわかりません。

助けていただければ幸いです。

ありがとう

4

1 に答える 1

2

まず、XML は問題ありません。「不正な形式」とどのように解釈されるかはわかりません。改行は何にも影響を与えるべきではありません。

第二に、彼らのこの「不正な形式」のメッセージは、XML が事前定義されたスキーマに準拠していないという単なるケースではないということを確信していますか?

第三に、送信するコンテンツ タイプは何ですか? application/xml または text/xml? 特定のアプリケーションがどちらか一方しか受け入れないという問題に遭遇したためです。

第 4 に、この XML を実際に正しく送信していると確信していますか? 自分で解析して検証できるように、開発中の URL に送信してみましたか?

于 2012-10-25T10:18:24.613 に答える