2017-01-29 8 views
0

私は全く新しいjavascriptです。私は、外部XMLファイルを読み込み、各値をコンソールに記録するjavascriptのコードが必要です。次のコードは、ファイルをHTMLページに読み込むのに似ていますか?xml dom parsing javascriptを使用

<html> 
<xml id="obj" src="books.xml"></xml> 
<script> 
    console.log(obj); 
    var rootnode=document.documentElement; 
    for(var i=0;i<rootnode.childNode.childNodes.length;++i) 
     for(var j=0;j<rootnode.childNode.childNodes.length;++j) 
      { 
       console.log(rootnode.childNodes[i].childNodes[j].nodeValue); 
      } 
</script> 
</html> 

Books.xmlファイルは、あなたが実際にコメントに反しアヤックス、せずにこれをを行うことができ、この

<books> 
<book id="b1"> 
    <name>Java</name> 
    <author>Gosling</author> 
    <price>600</price> 
</book> 
<book id="b2"> 
    <name>Javascript</name> 
    <author>Brandon</author> 
    <price>400</price> 
</book> 
</books> 
+0

このためにAJAXを使用する必要があります、ノーあり' 'タグがhtmlの – charlietfl

+0

に存在する可能性はありますか? –

+0

xsltページを作成するには、必要な他のhtmlに依存し、2つを組み合わせている場合はページを構築するための動的サーバー言語があるかどうか – charlietfl

答えて

0

のように見えます。それを行う方法は、私たちにiframeであり、あなたが望む場合は非表示に設定することができます。

はインラインフレームを除いて、あなたのようなHTMLドキュメントを考えてみましょう:

<html> 
    <head><title>whatever</title></head> 
    <body> 
    <iframe id='data' src='books.xml'></iframe> 
    </body> 
</html> 

あなたのjavascript関数は、このようなものになることができます。

function getData(){ 
    var dataFrame = document.getElementById('data'); 
    // older versions of IE needed this guard 
    var xml = dataFrame.contentDocument || dataFrame.contentWindow.document; 
    var books = xml.getElementsByTagName('book'); 
    // books is iterable, and you can further extract nodes from it just like HTML tags 
    for (var i=0;i<books.length; i++) { 
    console.log(books[i]); 
    } 
}