js 怎么获取xml根节点下的所有子节点 看楼主问了几次都是急需答案,在线等。你就不会学习一下吗,找个随便js解析XML的教程看一下,对照着试一下不就知道了?获取单节点,获取子节点,遍历,获取指定属性,遍历属性 ,这些内容你看几天还不明白? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.w3school.com.cn/tiy/t.asp?f=xdom_nodetypeXML DOM手册 我原先没搞过xml 所以才会这样的。。网上得都是一些很简单的读取xml。 我要的不是那种效果。 我的是xml文件里的内容 节点什么都是不固定。。需要动态读取。。并不是直接指定就可以了。要是有那么简单就好了3# 那个可以参考参考 var serializeToString = function (oNode /*:Node*/)/*:String*/ { var sXml = ""; switch (oNode.nodeType) { case 1: //element sXml = "<" + oNode.tagName; for (var i=0; i < oNode.attributes.length; i++) { sXml += " " + oNode.attributes[i].name + "=\"" + oNode.attributes[i].value + "\""; } sXml += ">"; for (var i=0; i < oNode.childNodes.length; i++){ sXml += serializeToString(oNode.childNodes[i]); } sXml += "</" + oNode.tagName + ">"; break; case 3: //text node sXml = oNode.nodeValue; break; case 4: //cdata sXml = "<![CDATA[" + oNode.nodeValue + "]]>"; break; case 7: //processing instruction sXml = "<?" + oNode.nodevalue + "?>"; break; case 8: //comment sXml = "<!--" + oNode.nodevalue + "-->"; break; case 9: //document for (var i=0; i < oNode.childNodes.length; i++){ sXml += serializeToString(oNode.childNodes[i]); } break; } return sXml;};alert(serializeToString(你的xml文档对象))如果不指定节点名称什么的,那只能遍历所有节点了。上面是一个例子 我也遇到了楼主的问题,希望动态得到节点名称,根据5楼的提示,我看到了tagName 这个重要的属性,然后自己研究一下成功了<script type="text/javascript"> var xmlhttp; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest; } else { xmlhttp = ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "XMLFile1.xml", false); xmlhttp.send(); xmldoc = xmlhttp.responseXML; document.write("<table id=tab1>"); var x = xmldoc.getElementsByTagName("Student"); for (var i = 0; i < x.length; i++) { document.write("<tr><td>"); var row = x[i].childNodes.length; for (var rows = 0; rows < row; rows++) { var name = x[i].childNodes[rows].tagName; //动态得到节点名称 document.write("<td>"); document.write(x[i].getElementsByTagName(name)[0].childNodes[0].nodeValue); document.write("</td>"); } document.write("</tr>"); } document.write("</table>"); </script>希望对后面来看的人有一定的帮助 求解一个Javascript正则表达式 在一个页面引用另一个页面中的指定内容 js提交时候弹出提示框问题 GIF图片在网页不动了!!!!!!!!.. 请教一段jsp上js代码,请高手明示. 关于iframe中建表格的问题 help ◆JS版收集精华贴,请各位网友支持!◆ 两个select的问题 ————————请教————————! javascript 作用域的问题 急 急!! 想用chrome插件把ctrl+enter这个事件绑定到回复按扭的click事件结果不成功
XML DOM手册
我要的不是那种效果。
我的是xml文件里的内容 节点什么都是不固定。。需要动态读取。。并不是直接指定就可以了。
要是有那么简单就好了3# 那个可以参考参考
switch (oNode.nodeType) {
case 1: //element
sXml = "<" + oNode.tagName;
for (var i=0; i < oNode.attributes.length; i++) {
sXml += " " + oNode.attributes[i].name + "=\"" + oNode.attributes[i].value + "\"";
}
sXml += ">";
for (var i=0; i < oNode.childNodes.length; i++){
sXml += serializeToString(oNode.childNodes[i]);
}
sXml += "</" + oNode.tagName + ">";
break;
case 3: //text node
sXml = oNode.nodeValue;
break;
case 4: //cdata
sXml = "<![CDATA[" + oNode.nodeValue + "]]>";
break;
case 7: //processing instruction
sXml = "<?" + oNode.nodevalue + "?>";
break;
case 8: //comment
sXml = "<!--" + oNode.nodevalue + "-->";
break;
case 9: //document
for (var i=0; i < oNode.childNodes.length; i++){
sXml += serializeToString(oNode.childNodes[i]);
}
break;
}
return sXml;
};alert(serializeToString(你的xml文档对象))
如果不指定节点名称什么的,那只能遍历所有节点了。上面是一个例子
<script type="text/javascript">
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest;
}
else {
xmlhttp = ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "XMLFile1.xml", false);
xmlhttp.send();
xmldoc = xmlhttp.responseXML; document.write("<table id=tab1>");
var x = xmldoc.getElementsByTagName("Student");
for (var i = 0; i < x.length; i++) {
document.write("<tr><td>");
var row = x[i].childNodes.length;
for (var rows = 0; rows < row; rows++) {
var name = x[i].childNodes[rows].tagName; //动态得到节点名称
document.write("<td>");
document.write(x[i].getElementsByTagName(name)[0].childNodes[0].nodeValue);
document.write("</td>");
}
document.write("</tr>"); }
document.write("</table>");
</script>
希望对后面来看的人有一定的帮助