Skynet
posts - 165, comments - 198, trackbacks - 0, articles - 1
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
XMLDOM 详细说明和网上有关资源 + 动态javascript建表
Posted on 2007-05-18 17:33
G_G
阅读(1003)
评论(5)
编辑
收藏
所属分类:
javascript
问题:
对javascript Dom 解读 xml 的问题
解决:
网页中 javascript 学习
过程 js
function
searchSales()
{
var
url
=
"
MyXml.xml
"
;
// url 不限制 可以为 jsp *.do 只要 out.print()出来的 是 xml 格式
var
myAjax
=
new
Ajax.Request(
url,
{
method: 'get',
onComplete: action
// 成功得到 requ 的挂载方法
}
);
}
function
action(request)
{
var
dom
=
request.responseXML;
//返回 javascript Dom 解读对象
var
list
=
dom.getElementsByTagName('Weapon');
//返回标签名<Weapon> 集合项可用.item(i) 得出
.firstChild.nodeValue得值
for
(
var
i
=
0
; i
<
list.length; i
++
)
{
var
nli
=
list.item(i);
var
W
=
nli.getElementsByTagName( 'W' );
window.alert(W.item(
0
).firstChild.nodeValue);
}
}
HTML 页面
</
HEAD
>
<
head
>
<
script
src
="prototype1.5.0.js"
></
script
>
<
script
src
="xml.js"
></
script
>
</
head
>
<
input
id
='test'
type
="submit"
value
="test"
onclick
="searchSales();"
>
</
HTML
>
XML
<?
xml version="1.0" encoding="utf-8"
?>
<
Login
>
<
Weapon
id
="1"
>
<
W
Text
="光束剑"
Value
="0"
>
1
</
W
>
<
W
Text
="光束配刀"
Value
="1"
>
2
</
W
>
</
Weapon
>
<
Weapon
id
="2"
>
<
W
Text
="光束剑"
Value
="0"
>
3
</
W
>
<
W
Text
="光束配刀"
Value
="1"
>
4
</
W
>
</
Weapon
>
<
Weapon
id
="3"
>
<
W
Text
="光束剑"
Value
="0"
>
5
</
W
>
<
W
Text
="光束配刀"
Value
="1"
>
6
</
W
>
</
Weapon
>
</
Login
>
心得: 调试了很久当时对javascript 的不熟悉,但我没有放弃 去网上查,问同事 最后成功
--------------------- 坚持就是胜利
------------------
评论
#
re: My Ajax
回复
更多评论
2007-05-18 17:35 by
G_G
function
searchSales()
{
var
url
=
"
MyXml.xml
"
;
var
myAjax
=
new
Ajax.Request(
url,
{
method: 'get',
onComplete: test
}
);
}
function
test(request)
{
var
dom
=
request.responseXML;
var
root
=
dom.documentElement;
//
window.alert( root );
var
list
=
dom.getElementsByTagName('W');
for
(
var
i
=
0
; i
<
list.length; i
++
)
{
window.alert(list.item(i).firstChild.nodeValue);
}
}
得出结果是 1 2 3 4 5 6
#
re: My Ajax
回复
更多评论
2007-05-21 14:17 by
G_G
对象
属性
方法
XMLDocument
documentElement
得到 root
HTMLCollection
length 得到长度
item(i) 得到 Element
Element
.firstChild.nodeValue 得到 value?
getAttribute('id') 得到 attribut
其他属性方法参见
http://wddavid.cnblogs.com/archive/2005/07/25/199358.html
例子参见
http://dennis-zane.javaeye.com/category/10543?list=1
function
searchSales()
{
var
url
=
"
MyXml.xml
"
;
var
myAjax
=
new
Ajax.Request(
url,
{
method: 'get',
onComplete: test
}
);
}
function
test(request)
{
var
dom
=
request.responseXML;
var
root
=
dom.documentElement;
var
body
=
root.getElementsByTagName('body').item(
0
);
var
pid_1
=
function
()
{
var
listP
=
body.getElementsByTagName('p');
for
(
var
i
=
0
; i
<
listP.length; i
++
)
{
if
(listP.item(i).getAttribute('id')
==
'
2
')
return
listP.item(i);
}
return
null
;
}
//
alert(oHtml.childNodes.item(0));
//
alert(oHead.parentNode==oHtml);
//
alert( oP.item(0).getAttribute('id') );
//
alert( oP.item(0).attributes.getNamedItem("id").nodeValue );
//
alert( oP.getAttribute('id') );
alert(pid_1().firstChild.nodeValue);
}
#
re: My Ajax
回复
更多评论
2007-05-21 17:20 by
G_G
function
searchSales()
{
var
url
=
"
MyXml.xml
"
;
var
myAjax
=
new
Ajax.Request(
url,
{
method: 'get',
onComplete: test
}
);
}
function
getMyElement(obj,tagName,attrName,value)
{
var
list
=
obj.getElementsByTagName(tagName);
for
(
var
i
=
0
; i
<
list.length; i
++
)
{
if
(list.item(i).getAttribute(attrName)
==
value)
return
obj.getElementsByTagName(tagName).item(i);
}
return
null
;
}
function
test(request)
{
var
dom
=
request.responseXML;
var
root
=
dom.documentElement;
var
weapon
=
getMyElement(root,'Weapon','id','
3
');
var
W
=
getMyElement(weapon,'W','Value','
0
');
window.alert(W.firstChild.nodeValue);
}
哈哈 高级的 ...
#
动态javascript建表
回复
更多评论
2007-06-05 17:37 by
G_G
问题:
Ajax 读出来xml 怎么由 javascript 建表
解决:
var dom = new ActiveXObject("Microsoft.XMLDOM"); //得到 XMLDom 对象
并 dom.loadXML( request.responseText ) ;
由prototype 的 request.responseText 填 充 XMLDom
http:
//
localhost:7000/xxs/test.do 返回
一个String 弄出来的 XML 大概就如下
<?
xml version="1.0" encoding="gb2312"
?>
-
<
mans
>
-
<
man
>
<
name
>
google
</
name
>
<
avg
>
23
</
avg
>
</
man
>
-
<
man
>
<
name
>
heha
</
name
>
<
avg
>
23
</
avg
>
</
man
>
</
mans
>
<
html
>
<
head
>
<
title
>
MyHtml.html
</
title
>
<
SCRIPT
language
="Javascript"
src
="prototype1.5.0.js"
></
SCRIPT
>
</
head
>
<
body
>
<
input
id
='test'
type
="submit"
value
="test"
onclick
="searchSales();"
>
</
body
>
</
html
>
<
script
type
="text/javascript"
>
<!--
function
searchSales()
{
var
url
=
'http:
//
localhost:7000/xxs/test.do'; // url 不限制 可以为 jsp *.do 只要 out.print()出来的 是 xml 格式
var
myAjax
=
new
Ajax.Request(
url,
{
method: 'get',
onComplete: action
//
成功得到 requ 的挂载方法
}
);
}
function
action(request)
{
var
dom
=
new
ActiveXObject(
"
Microsoft.XMLDOM
"
);
dom.loadXML(request.responseText);
var
root
=
dom.documentElement;
var
body
=
document.getElementsByTagName('body')[
0
];
var
my_array
=
new
Array();
my_array[
0
]
=
"
name
"
;
my_array[
1
]
=
"
avg
"
;
var
table_1
=
table(root,
"
man
"
,my_array);
table_1.setAttribute(
"
border
"
,
"
2
"
);
body.appendChild(table_1);
}
function
table(root,trName,tdNames)
{
var
tbl
=
document.createElement('table')
var
tblBody
=
document.createElement('tbody')
var
rows
=
root.getElementsByTagName(trName);
for
(
var
i
=
0
; i
<
rows.length; i
++
)
{
var
tr
=
document.createElement('tr')
for
(
var
j
=
0
;j
<
tdNames.length;j
++
)
{
var
col
=
rows.item(i).getElementsByTagName(tdNames[j])[
0
];
var
value
=
col.firstChild.nodeValue ;
var
td
=
document.createElement('td');
td.innerHTML
=
value ;
tr.appendChild(td);
}
tblBody.appendChild(tr);
}
tbl.appendChild(tblBody);
return
tbl;
}
//
-->
</
script
>
#
re: XMLDOM 详细说明和网上有关资源 + 动态javascript建表
回复
更多评论
2007-06-08 20:46 by
wqdqw
qwd
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
html css 切割图片 显示
javascript 基础总结(面向对象)
jquery 补全使用笔记
ajax Form
create div
dom-drag.js 拖拽学习
javascript ajax
js 拖动
ajax javascript 弹出框
页面 table 数据收集
Powered by:
BlogJava
Copyright © G_G
日历
<
2007年5月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
公告
由于时间问题,
blog上一些表达都不太好。
在此我尽量把我参考的原文给大家,
与大家学习。^_^
最近在维护www.blogjava.net\Skynet 脚本中
有什么技术问题不会,
我很愿意和大家讨论!
多交流快成长
liukaiyi@gmail.com
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(13)
给我留言
查看公开留言
查看私人留言
随笔分类
ant(6)
AOP(5)
Database(9)
E_Study(3)
EJB(4)
hibernate(25)
HTML(4)
Inspiration(11)
Jakarta Commons(3)
javaGeneral(28)
javascript(28)
javascript Framework(7)
JDBC(5)
json(3)
JspTag(12)
JUnit(8)
Other(5)
Reportform(3)
Spring(4)
struct(5)
Swing(1)
xml Related(7)
随笔档案
2009年4月 (1)
2009年2月 (2)
2009年1月 (1)
2008年12月 (4)
2008年11月 (1)
2008年9月 (7)
2008年8月 (8)
2008年7月 (12)
2008年6月 (9)
2008年5月 (5)
2008年4月 (11)
2008年3月 (6)
2008年1月 (8)
2007年12月 (13)
2007年11月 (13)
2007年10月 (15)
2007年9月 (11)
2007年8月 (9)
2007年7月 (7)
2007年6月 (6)
2007年5月 (3)
2007年4月 (9)
文章档案
2007年4月 (1)
相册
EJB
hbn
ss
wz
hibernate
cjdbc
hibernate.cache
Hibernate中outer-join、lazy 、fetch join关键字的使用
My连接
一个读取Gmail邮件的简单程序
bat 1%
eXtremeTable limit
java+web
jsp java javascrip 交互
JS函数集合大全
strut c:
Struts Menu
tree jsp
上手JFreeChart
关键笔记
根据name调用getName方法
用JAVA实现一个分页类
搜索
最新评论
1. re: 序列化和反序列化对象到 数据库
qwe
--erwqe
2. re: 部分高级查询 sql 拼写笔记 (mysql)
说实话,写的的的确是差了那么一点点
--老衲用飘柔
3. re: html 简单 div 拖动
好。
--火星华人
4. re: hibernate 多服务器数据同步问题(支持延迟同步)
评论内容较长,点击标题查看
--张久强
5. re: 数据库表地址数据(中国地区)
谢谢分享,收藏了!
--久久快乐鲜花
阅读排行榜
1. google svn 服务器使用(14260)
2. mysql 权限控制笔记(11665)
3. mysql 游标使用(7115)
4. 强大的 ant scp 和 sshexec (6382)
5. CGLib 学习(5777)
评论排行榜
1. hibernate 多服务器数据同步问题(支持延迟同步)(12)
2. 部分高级查询 sql 拼写笔记 (mysql)(9)
3. 为在平安夜还在加班的程序员祝福!(8)
4. 原创小框架: 动态面向对象数据库操作(不要影射类哦)(6)
5. 自用小框架:DB工厂(6)