繁体   English   中英

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

[英]loading xml tags into html file using javascript

我有一个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标签一起显示。 目前还没有发生。 我想念什么?

看起来不是您要查找的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/

您需要属性值

取代这个

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

有了这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM