JS 内で処理する必要がある大きな XML があります。(xml ファイルから js ファイルに) コピー/貼り付けして、xml ファイルの約 1000 行をそれぞれ引用するよりも良い解決策はありますか?
そのxmlファイルをリソースとしてフラッシュに「埋め込む」ことはできますか?
JS 内で処理する必要がある大きな XML があります。(xml ファイルから js ファイルに) コピー/貼り付けして、xml ファイルの約 1000 行をそれぞれ引用するよりも良い解決策はありますか?
そのxmlファイルをリソースとしてフラッシュに「埋め込む」ことはできますか?
通常の解決策は、単純に XML ファイルを外部に出し、XMLHttpRequestを使用して取得することです。
function fetchXMLFile(url, callback) {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
var xml = httpRequest.responseXML;
if (callback) callback(xml);
}
}
};
httpRequest.open('GET', url);
httpRequest.send();
}
fetchFile('myFile.xml', function(xml){
// use the xml
});
本当にデータをコードに埋め込みたい場合は、お気に入りのエディターで正規表現をいじるか、埋め込みを行うための小さなツールを作成する必要がありますが、大きなデータをソース コードとマージすることがベスト プラクティスと見なされることはめったにありません。通常、両方のパーツのライフサイクルは異なります。
あなたはそれを16進またはjson表現で書くことを試みることができます。
たとえば、「この文字列」は「\ x74 \ x68 \ x69 \ x73 \ x20 \ x73 \ x74 \ x72 \ x69 \ x6e\x67」になります。あなたのためにこれを行うオンラインツールがたくさんあります。たとえば、これは機能しますが、「\ x」は含まれないため、javascriptはそれを通常の文字列として解釈します。\ xを追加し、正しい16進形式にするために、任意のjavascriptコンソールでこの関数をその場で実行します:(もちろん、引用符で囲まれたテキストを生成された16進数字に置き換えます)
"7468697320737472696e67".replace(/([A-F\d]{2})/gi, "\\x$1"); // \x74...\x67
次に、この文字列をソースにコピーするだけで、機能するはずです。xmlを解析したい場合は、これを見てください-xmlを有効なjavascriptオブジェクトであるjsonに変換する別のオンラインツールです。割り当てるときに直接使用します。