0

クライアント側でノード(またはxmlオブジェクトかどうかはわかりません)を作成し、そのxmlファイルをローカルに保存しようとします。私の目標は、xml ノード (またはオブジェクト) を文字列に変換し、テキスト ファイルに保存することです。

問題は、次のメソッドが Firefox で xml を文字列に変換することですが、IE では変換されません。

だから私はルートxmlオブジェクトを持っています:

console.log(xmlToString(root));
//save_content_to_file(xmlToString(root), "C:\\test");

}

function xmlToString(xmlData) { 

    var xmlString;
    //IE
    if (window.ActiveXObject){
        xmlString = xmlData.xml;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else{
        xmlString = (new XMLSerializer()).serializeToString(xmlData);
    }
    return xmlString;
} 

FF での出力:

<plist><dict><key>subject</key><string></string><key>date</key><string></string><key>time</key><string></string><key>briefings</key><array><dict><key>files</key><array><dict><key>date</key><string>2012/09/09</string><key>name</key><string></string><key>description</key><string></string></dict></array><key>subject</key><string></string><key>presenter</key><string></string><key>time</key><string></string></dict></array></dict></plist>

IE での出力: undefined object

編集:::

次のメソッドを追加しました何も変更されていません

function serializeXmlDoc(xmlDoc) {
    if (window.XMLSerializer) {
        return (new window.XMLSerializer()).serializeToString(xmlDoc);
    } else if (typeof xmlDoc.xml != "undefined") {
        return xmlDoc.xml;
    }
    return "";
}

IEでこれを修正するにはどうすればよいですか?

4

0 に答える 0