使用javascript将xml标签加载到html文件中

时间:2014-03-20 02:33:00

标签: javascript html xml

我有一个xml文件需要加载到我的html文件中,所以我可以在我的html页面上显示xml数据。

这是HTML,使用javascript加载文件。               

<script>

function displaySYMBOL()
{
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","stock.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

x=xmlDoc.getElementsByTagName("finance");
i=0;

symbol=(x[i].getElementsByTagName("symbol")[0].childNodes[0].nodeValue);
document.getElementById("showSYMBOL").innerHTML=symbol;
}
</script>
</head>
<body onload="displaySYMBOL()">

<div id="mainpage">
    <div id="logo"></div>
    <div id="showSYMBOL">test</div>
    <div id="stock2">Location Test</div>
    <div id="stock3"></div>
</div>

</body>
</html>

这是xml

<xml_api_reply version="1">
<script id="tinyhippos-injected"/>
<finance module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
<symbol data="XLNX"/>
<pretty_symbol data="XLNX"/>
<company data="Xilinx, Inc."/>
<exchange data="Nasdaq"/>
<exchange_closing data="52.89"/>
<last data="52.55"/>
<high data="53"/>
<low data="51.99"/>
<volume data="6158738"/>
<open data="52.51"/>
<y_close data="52.89"/>
<change data="-0.34"/>
<perc_change data="-0.64"/>
</finance>
</xml_api_reply>

最终,符号数据应与HTML中的showSYMBOL div标签一起显示。目前尚未发生这种情况。我错过了什么?

2 个答案:

答案 0 :(得分:0)

看起来不是您正在寻找的nodeValue

if (window.DOMParser) {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(xml,"text/xml");
} else {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.loadXML(xml); 
}

console.log(xmlDoc.getElementsByTagName("symbol")[0].getAttribute('data'));

http://jsfiddle.net/jorgthuijls/HBgka/1/

答案 1 :(得分:0)

您需要属性值

替换此

symbol=(x[i].getElementsByTagName("symbol")[0].childNodes[0].nodeValue);

用这个

symbol=(x[i].getElementsByTagName("symbol")[0].getAttribute("data"));