js解析xml的问题,在线等答案 xml里是否包含回车换行等特殊字符文本 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以先把你的数据结构理清,能常,最开始看有没有取到数据1:alert(resquest.responseTEXT);2:alert(resquest.responseXML.getElementsByTagName("createDate")[0].firstChild.data);//其它的结点类推,看能不能取到数据,有一点把握咱们getElementsByTagName("createDate")这样取回来的总是一个数据,哪怕它只有一个结点比方createDate,如果有多层结点的建议最好是分开取,这样便于了解哪一层没取到; createUser = resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[1].firstChild.data;//这个你取到的应该是 <creatdUser>peter</createUser>的值;balId = resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[2].childNode[0].firstNode.data;//这个你取到的应该是 <balId>00001<balId>另外:resquest.responseXml应该为resquest.responseXML 你的XML里面有错误 <:createDate></createDate>不能有两个你把<createDate>2006-7-25</createDate><DmImdoc:createDate>2006-07-25</DmImdoc:createDate>换成<createDate>2006-7-24</createDate>换成<dmImLc:createDate>2006-7-24</dmImLc:createDate>而且你需要看看dom的书var myXmlDoc = new ActiveXObject("Microsoft.XMLDOM"); myXmlDoc.async="false";//禁止同步等到全部载入的时候在执行 myXmlDoc.load(myXmlPath);//载入XML var xmlObj=myXmlDoc.documentElement;// var myNodes = myXmlDoc.documentElement.childNodes; myNode得到所有的 <root></root>之间的内容 var firstChild=myNodes.myNodes[0]是得到<DmImdoc>这个对象 child=myNodes.myNodes[0].childNodes;//得到<createDate><creatdUser><dmImLc> myNodes.myNodes[0].childNodes[0]//得到<createDate> myNodes.myNodes[0].childNodes[1]//得到<creatdUser> myNodes.myNodes[0].childNodes[2]//得到<dmImLc>如果要得到 <dmImLc></dmImLc>之间的对象的话 var nextChild=myNodes.myNodes[0].childNodes[2].childNodes; 同样myNodes.myNodes[0].childNodes[2].childNodes[0]//得到<balId> 依次类推你可以在网上找找DOM手册如果没有加328218816我给你 } var root = resquest.responseXML.documentElement;alert(root);// 如果是 null,那说明xml格式错误 谢谢楼上的几位,xml不包含特殊字符,不分层取数据是可以取到的例如resquest.responseXML.getElementsByTagName("createDate")[0].firstChild.nodeValue;但是分层取的话就取不到了,就是说先找到对象节点,在取对象的属性时,就取不到数据了,例如 resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[1].firstChild.data;我做的是一个ajax查询,当然xml比上面的复杂多了,不分层取的话,很乱,也很麻烦,DmImdoc,dmImLc中有相同的属性. chrome 下用js生成动态表格添加属性没效 求web的表格控件(类excel)比较成熟的(javascript) js 如何分别得到复选框选中某行的某值 一个正则问题。。。。。 一个困扰了我2个月的javascript问题,请高手帮忙 用javascript从数据库里取出为YYYY-MM-DD的日期格式 求助:如何用正则表达式验证输入的年龄是否正确 如何设置模式窗口状态栏得内容? 鼠标事件 请问js里怎么引用上一级对象? 在vbs中的asc函数,在js中有此功能函数么 邀请Web程序员加入新创立的美国公司idapted(期权+丰厚待遇)
1:alert(resquest.responseTEXT);
2:alert(resquest.responseXML.getElementsByTagName("createDate")[0].firstChild.data);//其它的结点类推,看能不能取到数据,有一点把握咱们getElementsByTagName("createDate")这样取回来的总是一个数据,哪怕它只有一个结点比方createDate,如果有多层结点的建议最好是分开取,这样便于了解哪一层没取到;
createUser = resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[1].firstChild.data;
//这个你取到的应该是 <creatdUser>peter</createUser>的值;
balId = resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[2].childNode[0].firstNode.data;
//这个你取到的应该是 <balId>00001<balId>
另外:resquest.responseXml应该为resquest.responseXML
你把<createDate>2006-7-25</createDate><DmImdoc:createDate>2006-07-25</DmImdoc:createDate>换成
<createDate>2006-7-24</createDate>换成
<dmImLc:createDate>2006-7-24</dmImLc:createDate>而且你需要看看dom的书var myXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
myXmlDoc.async="false";//禁止同步等到全部载入的时候在执行
myXmlDoc.load(myXmlPath);//载入XML
var xmlObj=myXmlDoc.documentElement;//
var myNodes = myXmlDoc.documentElement.childNodes;
myNode得到所有的 <root></root>之间的内容
var firstChild=myNodes.myNodes[0]是得到<DmImdoc>这个对象
child=myNodes.myNodes[0].childNodes;//得到<createDate><creatdUser><dmImLc>
myNodes.myNodes[0].childNodes[0]//得到<createDate>
myNodes.myNodes[0].childNodes[1]//得到<creatdUser>
myNodes.myNodes[0].childNodes[2]//得到<dmImLc>
如果要得到 <dmImLc></dmImLc>之间的对象的话
var nextChild=myNodes.myNodes[0].childNodes[2].childNodes;
同样myNodes.myNodes[0].childNodes[2].childNodes[0]//得到<balId>
依次类推
你可以在网上找找DOM手册
如果没有加328218816我给你 }
alert(root);// 如果是 null,那说明xml格式错误
但是分层取的话就取不到了,就是说先找到对象节点,在取对象的属性时,就取不到数据了,例如 resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[1].firstChild.data;
我做的是一个ajax查询,当然xml比上面的复杂多了,不分层取的话,很乱,也很麻烦,DmImdoc,dmImLc中有相同的属性.