Skynet
posts - 138, comments - 150, trackbacks - 0, articles - 1
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
XMLDOM 详细说明和网上有关资源 + 动态javascript建表
Posted on 2007-05-18 17:33
G_G
阅读(563)
评论(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 的不熟悉,但我没有放弃 去网上查,问同事 最后成功
--------------------- 坚持就是胜利
------------------
Feedback
#
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
新闻频道
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-08-09 14:33 编辑过
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
相关文章:
页面 table 数据收集
dwr 学习笔记
javascript select 操作
开发 javascript div 扩展使用
javascript 上传文件大小限定
javascript 鼠标跟随+位置显示
java,javascript 内连取数据
javascript cookie(转)
ajax 的 输入选择 (同google&读数据库)
WEB xml 画图 (javascript包装)用到 prototype.js wz_jsgraphics.js
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上一些表达都不太好。
在此我尽量把我参考的原文给大家,
帮助大家学习。^_^
有什么技术问题不会,
我很愿意和大家讨论!
多交流快成长
liukaiyi@gmail.com
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(6)
给我留言
查看公开留言
查看私人留言
随笔分类
ant(5)
AOP(5)
Database(8)
E_Study(1)
EJB(4)
hibernate(23)
HTML(3)
Inspiration(9)
Jakarta Commons(3)
javaGeneral(22)
javascript(19)
javascript Framework(7)
JDBC(5)
json(3)
JspTag(7)
JUnit(7)
Other(3)
Reportform(3)
Spring(4)
struct(4)
Swing(1)
xml Related(7)
随笔档案
2008年7月 (9)
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: 实用,简单 ibatis dome (包含多对一;一对多)[未登录]
评论内容较长,点击标题查看
--JAVAFANS
2. re: 实用,简单 ibatis dome (包含多对一;一对多)
评论内容较长,点击标题查看