クライアント側でノード(または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でこれを修正するにはどうすればよいですか?