js读取xml

T_long 2010-10-13 03:20:17
 var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async=false;
xmldoc.load("<?xml version='1.0' encoding='utf-8'?><liuyan><people name='people'><name>111</name><content>111</content></people><people name='people'><name>222</name><content>222</content></people></liuyan>");

1、 var name=document.getElementsByTagName("people");
2、 var first=xmldoc.documentElement;
var name=first.childNodes;
3、 var name=xmldoc.selectNodes("/liuyan/people");

alert(name.length);


name.length都为0
123三句话是什么意思?
...全文
99 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
T_long 2010-10-13
  • 打赏
  • 举报
回复
hailin668 2010-10-13
  • 打赏
  • 举报
回复
jQuery读取xml:


<script>
$(document).ready(function() {
$.ajax({
cache: false, //不保存缓存
url: 'data.xml',
dataType: 'xml',
type: 'GET',
timeout: 1000,
error: function(xml) {
alert("加载数据文件失败...");
},
success: function(xml) {
$(xml).find("taskList").each(function(i) {

var _Id = $(this).children("id");

//获取id节点的文本值;
var id = _Id.text();





})
}
});

})
</script>

种草德鲁伊 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 t_long 的回复:]

引用 5 楼 karascanvas 的回复:
xmldom.load(path) 这里应该是一个xml文件的路径,如果是加载字符串,应该用loadXML(string)

弹出0的那个应该是一个句获取的结果,因为是从htmldom获取的。

document.getElementsByTagName("people")不能获得people节点吗?
我见有一个这样写的http://z……
[/Quote]

可以,联系上面的代码,应该用 xmldoc.getElementsByTagName("people")
document是window.document,html dom的对象。
T_long 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 karascanvas 的回复:]
xmldom.load(path) 这里应该是一个xml文件的路径,如果是加载字符串,应该用loadXML(string)

弹出0的那个应该是一个句获取的结果,因为是从htmldom获取的。
[/Quote]
document.getElementsByTagName("people")不能获得people节点吗?
我见有一个这样写的http://zhidao.baidu.com/question/171912431.html?fr=ala0
种草德鲁伊 2010-10-13
  • 打赏
  • 举报
回复
xmldom.load(path) 这里应该是一个xml文件的路径,如果是加载字符串,应该用loadXML(string)

弹出0的那个应该是一个句获取的结果,因为是从htmldom获取的。
T_long 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 karascanvas 的回复:]
1、 var name=document.getElementsByTagName("people"); 从html dom中获取标签名为 people的元素集合,和上面的xml毫无关联。

2、 var first=xmldoc.documentElement; // xml的第一个元素节点。
var name=first.childNodes; // 第一个元素节点的所有子节点.

……
[/Quote]
引用 2 楼 ly_longyue 的回复:
1,通过tagname 获取 所有 taname 为 people 的接点元素集合 赋值给name 变量
2,获得dom 对象,将所有 子节点赋值给 name变量
3,选择 接点路径为("/liuyan/people") 的接点对象 赋值给 name
并弹出 name 长度


为什么我弹出的那个长度是0呢?
T_long 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ly_longyue 的回复:]
1,通过tagname 获取 所有 taname 为 people 的接点元素集合 赋值给name 变量
2,获得dom 对象,将所有 子节点赋值给 name变量
3,选择 接点路径为("/liuyan/people") 的接点对象 赋值给 name
并弹出 name 长度
[/Quote]
为什么我弹出的那个长度是0呢?
龍月 2010-10-13
  • 打赏
  • 举报
回复
1,通过tagname 获取 所有 taname 为 people 的接点元素集合 赋值给name 变量
2,获得dom 对象,将所有 子节点赋值给 name变量
3,选择 接点路径为("/liuyan/people") 的接点对象 赋值给 name
并弹出 name 长度
种草德鲁伊 2010-10-13
  • 打赏
  • 举报
回复
1、 var name=document.getElementsByTagName("people"); 从html dom中获取标签名为 people的元素集合,和上面的xml毫无关联。

2、 var first=xmldoc.documentElement; // xml的第一个元素节点。
var name=first.childNodes; // 第一个元素节点的所有子节点.

3、 var name=xmldoc.selectNodes("/liuyan/people"); // 用xpath获取节点,参考http://www.w3school.com.cn/xpath/xpath_syntax.asp

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧