有人能找出我代码中的问题吗?我想把我的xml数据解析成一个html表,但它不工作。未创建任何表。
我的xml文件名为purchase
<?xml version="1.0">
<purchaseOrder xmlns="assoc">
<lineItem>
<name>Line Item 1</name>
<price>1.25</price>
</lineItem>
<lineItem>
<name>Line Item 2</name>
<price>2.48</price>
</lineItem>
</purchaseOrder>我的代码是:
<!DOCTYPE html>
<html>
<head>
<title>XML Data Block Demo</title>
<script>
function runDemo() {
var doc = document.getElementById("purchase-order").contentDocument;
var lineItems = doc.getElementsByTagNameNS("assoc", "lineItem");
var firstPrice = lineItems[0].getElementsByTagNameNS("assoc", "price")[0].textContent;
var HTML = "<table><tr><th>lineItems</th><th>firstprice</th></tr>";
var x=doc.getElementsByTagName("lineItem");
for(i=1;i<=;i++)
{
HTML += "<tr><td>"+x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue+"</td><td>"+x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue+"</td></tr>";
}
HTML += "</table>";
document.getElementById("output").innerHTML = HTML;
}
</script>
</head>
<body onload="runDemo()";>
<object id="purchase-order" data="purchase.xml" type="text/xml" style="display: none;"></object>
<div id="output">My table did not run</div>
</body>
</html>我使用数据块对象方法将xml解析为html请参阅此处的链接,上面的方法用于获取xml数据data island alternative。
有人知道我的代码出了什么问题吗?
干杯
发布于 2015-08-19 04:39:01
你的循环看起来很奇怪:
for(i=1;i<=;i++)为什么从1开始?而且没有限制。应该是这样的
for(i=0;i<=x.length;i++)此外,不使用firstPrice ...
发布于 2015-08-19 05:45:07
以下是您遇到的问题:
<?xml version="1.0" ?>
style="visibility: hidden"
function runDemo() {
var doc = document.getElementById("purchase-order").contentDocument;
var lineItems = doc.getElementsByTagName("lineItem");
var html = "<table><tr><th>lineItems</th><th>firstprice</th></tr>";
for (i = 0; i < lineItems.length; i++) {
html += "<tr><td>"
+ lineItems[i].getElementsByTagName("name")[0].childNodes[0].nodeValue
+ "</td><td>"
+ lineItems[i].getElementsByTagName("price")[0].childNodes[0].nodeValue
+ "</td></tr>";
}
html += "</table>";
document.getElementById("output").innerHTML = html;
}
https://stackoverflow.com/questions/32081806
复制相似问题