代码如下:<script language=javascript> 7 ]- E( w$ j* |# y8 l
<!-- + [" W) B* ^! u: R& m( ^! L0 o5 Q
var doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom)
* L) U s M% C6 o `7 c) z//加载文档
* h7 N/ R; |& T//doc.load(b.xml); 1 ^4 b, ?0 N9 _% Y6 D+ U0 E# M) y
//创建文件头
% W% b+ K; l/ q4 r, Z" z2 E% pvar p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312'); , p% P$ E S& r( [; w
//添加文件头
8 P `8 q* G, V! i- Cdoc.appendchild(p); . S J5 d2 `7 ~
//用于直接加载时获得根接点
/ S, u8 x. q5 Y/ p$ Y" }//var root = doc.documentelement; 0 P( y, P# E, C5 d7 i9 k
//两种方式创建根接点
: J0 n1 T/ m0 x8 q8 I// var root = doc.createelement(students);
8 ]0 R/ p9 f% l% E. k# B P5 D R* S8 svar root = doc.createnode(1,students,); d% J3 ~+ D/ G+ S4 k. @( | b
//创建子接点 . l- E5 v8 r9 }0 ^- |; P$ o& s+ M* y
var n = doc.createnode(1,ttyp,); , \1 T; |& c' x+ H) }; ?6 o
//指定子接点文本
7 g& S4 g' h& T# G" G//n.text = this is a test; 8 \: G$ v2 f! _# _; H
//创建孙接点 0 n7 @" J/ z$ }1 s( X- E9 z
var o = doc.createelement(sex); 0 S$ }# T! c2 p# T1 j
o.text = 男; //指定其文本
7 b7 s* ^$ V9 D; `' u//创建属性
1 H* ^- ? ^1 T" F Cvar r = doc.createattribute(id);
5 X/ y; l. |' w) z0 h' W3 t; p$ ar.value=test;
6 J* Z+ W0 M! k//添加属性
8 O$ ?/ R1 {- }% X4 Sn.setattributenode(r);
* x2 E, T1 n3 q//创建第二个属性 8 W4 P5 ]' y, `3 w2 E0 G
var r1 = doc.createattribute(class);
' M, l$ v6 A8 nr1.value=tt; 5 q+ y( U* I% Z- r9 z
//添加属性
2 M1 A/ C7 d- p' N' Y$ M. \* I9 Nn.setattributenode(r1);
# R0 Z6 v% q$ Q0 c# A$ P* h9 [//删除第二个属性 ! L2 A; O9 L9 z2 U7 z
n.removeattribute(class);
4 R2 O/ s; ~: C" l3 l1 H//添加孙接点 $ ~5 w2 ^8 g/ w, H x. z5 `
n.appendchild(o); 1 ?( W, v3 G( O$ `8 j0 g
//添加文本接点 & z, D* F+ m: G
n.appendchild(doc.createtextnode(this is a text node.));
1 J" G" q0 d6 _( O* @& q- v//添加注释 6 A. b& _" U# p. e: }0 o- p
n.appendchild(doc.createcomment(this is a comment\n));
, W y, a" X, S; ?3 @/ M- L//添加子接点 9 v) b4 z) q* Z" M: O2 y- v6 S
root.appendchild(n); 9 G. u) R# P, v: T, M6 j. o$ w) _
//复制接点 + _. A+ \! F/ n+ J3 }# [( x
var m = n.clonenode(true); 1 a- w' h: n# f3 t6 W3 T$ B
root.appendchild(m); ) _( [* F0 z' h! Q n
//删除接点
, E$ p7 [( z( F6 k; Y3 C* f# Uroot.removechild(root.childnodes(0));
. O: K1 a6 s; I+ Q# V8 w: C//创建数据段
: \4 w4 M5 d" `+ D8 ]var c = doc.createcdatasection(this is a cdata);
- S, ^6 `7 _5 ]9 {c.text = hi,cdata; # F* p4 R. U& F) n, ~; X
//添加数据段 ! J" ]: s/ T4 q, }* R3 y- n
root.appendchild(c); 3 R r/ q0 C& y& Q- O, O! ]/ Y
//添加根接点
5 a7 Q5 r; m; e6 R+ P" zdoc.appendchild(root);
: F3 a. ^/ k( e6 A//查找接点
0 @' ^# K1 Q1 r$ Fvar a = doc.getelementsbytagname(ttyp);
8 L) H C; U0 H//var a = doc.selectnodes(//ttyp);
! E3 A) W% u7 ]. [9 U4 p2 X* w! k3 T//显示改接点的属性
0 y7 i" D3 \* y; T. A! wfor(var i= 0;i<a.length;i++)
1 H# U `. X) l{
" ^" @ S% M* N O3 Falert(a[i].xml);
% O; r% O/ K- j& z* P3 efor(var j=0;j<a[i].attributes.length;j++) 7 n0 R0 ~9 x1 Z& ~" ^
{ 2 R3 @" F3 G) C
alert(a[i].attributes[j].name);
# f; M. P$ D% `+ J( }! \+ ]) j; V} 3 t0 A$ P( g- r m% q
}
" r# k/ G7 R7 T7 N//修改节点,利用xpath定位节点
2 t* |- b1 X" I5 n" q* E3 qvar b = doc.selectsinglenode(//ttyp/sex);
q/ o& e; U8 gb.text = 女;
# }: s1 X* ^6 k1 l( M. H$ V" l* e//alert(doc.xml);
; d1 N2 t2 n u//xml保存(需要在服务端,客户端用fso) & i: }% I' I$ i9 r$ \: X% \9 `
//doc.save(); ) r. U* G( n, A& g* V: a- }
//查看根接点xml
0 Y$ }2 s5 N3 p5 w: ~) T) \if(n) 0 H$ g( E6 k' n
{
5 g# T) w" b& u$ m+ p3 Balert(n.ownerdocument.xml);
7 }$ d. |' r! f2 L; x/ C4 |9 d& I}
' ~2 Q6 }/ u2 K- M9 M4 ~& B0 B//-->
4 T- |& B) f0 b$ I</script>
6 d& k& D* {0 Q3 i$ `/ O" M6 a3 u" U# }4 c
更多网页制作信息请查看: 网页制作 |