首页 新闻 会员 周边

XmlHttpRequest请求Xml文件无法获得节点

0
悬赏园豆:20 [已关闭问题]

  我有如下代码

  var xmlDoc = httpRequest.responseXML();

  var northNodes = xmlDoc.getElementsByTagName('north');

  for(var i=0;i<northNodes .length;i++) {...}

  程序不报错,但是就是找不到节点

  我的Xml文件片段如下

  <north>

    <state>长沙</state>

    ...

  </north>

  ...

  代码写在Demo1.html文件中,xml文件的名称是DemoStates.xml

  请问有谁知道这是什么原音吗?

雪燃的主页 雪燃 | 初学一级 | 园豆:149
提问于:2008-10-07 23:33
< >
分享
其他回答(3)
0

如果可以用FireBug或者IE的<开发人员工具>调试一下便知道

volnet(可以叫我大V) | 园豆:720 (小虾三级) | 2008-10-08 06:44
0

应该这样吧
    var xmlDoc = xmlHttp.responseXML;
   //取得north

   var northNode = xmlDoc.getElementsByTagName("north")[0];
    //取得state
   var northStates = northNode.getElementsByTagName("state");
   

XML:

<north>
        <state>XXX</state>
        <state>XXX</state>
        <state>XXX</state>
    </north>

RicoRui | 园豆:3663 (老鸟四级) | 2008-10-08 09:32
0

mlDoc=loadXMLDoc("books.xml");

//the x variable will hold a node list
x=xmlDoc.getElementsByTagName('title');

for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[
0].nodeValue);
document.write(
"<br />");
}

 

roboth | 园豆:28 (初学一级) | 2008-10-08 10:31
1

XmlReader
Code
try{
//---------------------
//配置 XmlReader 类以适应当前浏览器环境.
var xm = new XmlManager();
//创建 XmlReader 实例.
var xr = new XmlReader();

//自定义处理函数
function Show(){
//开始输出.
var root = xr.GetRoot("Nodes");
var nodes = xr.GetNodes(root,"Node");
for(var i = 0;i<nodes.length;i++){
var name = xr.GetNodes(nodes[i], "Name")[0];
var sex = xr.GetNodes(nodes[i], "Sex")[0];
var age = xr.GetNodes(nodes[i], "Age")[0];
document.write(
"Name: " + xr.GetNodeValue(name) + " Sex: " + xr.GetNodeValue(sex) + " Age: " + xr.GetNodeValue(age) + "<br/>");
}
}

//---------------------
//应用1, 通常调用1.
document.write("LoadXml:<br/>");
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Nodes><Node><Name>Q</Name><Sex>Boy</Sex><Age>10</Age></Node><Node><Name>I</Name><Sex>Girl</Sex><Age>11</Age></Node></Nodes>";
xr.LoadXml(xml);
Show();
document.write(
"<br/>");

document.write(
"ReLoadXml:<br/>");
xr.LoadXml(xml);
Show();
}
catch(e){//跟踪错误
alert(e.name + ' ' + e.message);
}
应该是你的小马虎造成的问题. 包装过类似应用, 但对如何运用 getElementsByTagName 等方法不熟.

陛下 | 园豆:3938 (老鸟四级) | 2008-10-08 18:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册