ホームページ  >  記事  >  ウェブフロントエンド  >  js code_javascript スキルを実装するための firefo XML の読み取りと書き込み

js code_javascript スキルを実装するための firefo XML の読み取りと書き込み

WBOY
WBOYオリジナル
2016-05-16 18:51:301340ブラウズ
xml ファイルを文字列に読み取ります
ステップ 1: xml ファイルを DOM 構造に変換します
1
var xmlDoc = document.implementation.createDocument("", "test" , null);
xmlDoc.load("d:\develop\bookmarks.xml");
2
var req = new XMLHttpRequest();
req.open("GET", " ://passwdmaker/content/people.xml", false);
req.send(null);
var dom = req.responseXML;
dom は DOM 構造オブジェクトです
ステップ 2: DOM 構造を XML 文字列に変換します。
varserializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer); );
str は XML コンテンツの文字列です

2. XML 文字列を XML ファイルに書き込みます
// str は XML 文字列
var parser = new DOMParser ( );
var dom = parser.parseFromString(str, "text/xml");
varserializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces) .nsIDOMSerializer);
var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); ["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("d:\develop\myxmlfile.xml");// 維持される場所
foStream.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // 書き込み、作成、切り捨て
serializer.serializeToStream(dom.documentElement, foStream, ""); // dom は DOM ツリーであることを思い出してください。
foStream.close();
添付ファイル:
1 DOM 構造を作成します
// ドキュメント オブジェクトを生成します
var xmldoc = document.implementation.createDocument("","",null );
// XML ファイルのヘッダーを作成します
//

var head = xmldoc.createProcessingstruct("xml","version="1.0" encoding="UTF-8"standalone=")はい""); xmldoc.appendChild(head);
// ROOTノードを作成します
var nodest = xmldoc.appendChild(nodest); >//子ノードを作成します
var elem1 = doc.createElement("name");
elem1.textContent = "Zhang San"
var elem2 = doc; .createElement("name");
elem2.textContent = "李思";
nodest.appendChild(elem2);
作成された結果は次のとおりです



Zhang San

Li Si この方法で生成された xmlDOM 構造は、シリアル化を通じて XML 文字列に変換されるときに自動的にインデントされませんが、解析することはできますXML オブジェクトを通じて。 varserializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer); // DOMxml 構造を XML 文字列に解析します // XML オブジェクトが正常に解析された場合は、XML ヘッダーを削除する必要があります // XML ヘッダーを削除します
var xmlDeclaration = /^
] ?>/
var str = new XML( xmldoc). replace(xmlDeclaration, '') ).toXMLString();
ははは、str は自動的にインデントできる XML 文字列になりました。ただし、XML を正常にエンコードしたい場合は、XML ヘッダーを str の前に追加する必要があります。忘れないでください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。