我有一个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标签一起显示。目前尚未发生这种情况。我错过了什么?
答案 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'));
答案 1 :(得分:0)
替换此
symbol=(x[i].getElementsByTagName("symbol")[0].childNodes[0].nodeValue);
用这个
symbol=(x[i].getElementsByTagName("symbol")[0].getAttribute("data"));