7

XMLファイルのWebページデータを読み込む方法を学習しようとしています。これは静的なHTMLページです。Webサーバーが必要なく、Ajaxを使用できません。XMLファイルはローカルです(HTMLファイルと同じディレクトリにあります)。これをChromeブラウザで動作させたい。

私がする必要があるのは:

  1. onLoadイベントのページでXMLファイルを読み取ります。
  2. innerHTMLを使用して、XMLデータをdivに挿入します。

私の問題は、XMLファイルの読み取りにあります。私が見つけたすべての例は、Webサーバーが実行されている場合にのみ機能すると思いますが、これは避ける必要があります。

4

7 に答える 7

2

別のファイルを読んでいる場合、フロントエンドJSでそれを行う唯一の方法は、別のリクエスト(ajax)です。これがnode.jsの場合、ノードはファイルシステムにアクセスできるため、これは異なります。または、同じページのjavascript文字列にxmlを取得する場合は、それを操作できます。優れたライブラリ(jqueryのparseXML)はたくさんあります。

于 2012-12-31T22:30:42.343 に答える
1

Chromeのみを対象としているため、FileAPIを確認できます。ただし、ファイルを選択するか、ページの特定の領域にドロップするようにユーザーに促す必要があります。これは、避けたい場合とそうでない場合があります。次のHTML5Rocksの記事が役に立ちます。

于 2012-12-31T22:36:54.197 に答える
1

HTML、XML、ブラウザがすべて同じマシン上にあると仮定すると、file:\のようなURLを使用してXMLを参照するHTMLでIframeを使用してみてください。

于 2012-12-31T22:39:45.673 に答える
0

次のようなことができます。

<html>
<head>
<script type="text/javascript">
//If using jQuery, select the tag using something like this to manipulate  
//the look of the xml tags and stuff.
$('#xframe').attr('style', 'thisxmltag.....');
</script>
</head>
<body>
...
<frame id="xframe" src="the_xml_doc"></src>
</body>
</html>
于 2012-12-31T22:53:28.733 に答える
0
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", file_Location, false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.getElementById(your_div_id).value =        
xmlDoc.getElementsByTagName(The_tag_in_xml_you_want_to_display) 
[0].childNodes[0].nodeValue;
于 2014-05-22T08:14:24.713 に答える