代码如下:<script language=javascript>
% ?9 l( K* a) ~) e! z3 h% p, n<!-- 8 P3 j3 _+ L/ m3 I
var doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom)
7 n9 T4 u! e. _//加载文档 ; b! _$ N1 z7 U2 |1 h
//doc.load(b.xml); 2 h' w, c; \4 e
//创建文件头 9 m2 m& d9 P/ i0 Q0 y4 Z5 H `0 s
var p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312'); ; M; Q A y7 U; ^+ |& a \
//添加文件头
3 Q/ B( `' U H1 `- \: cdoc.appendchild(p); % S, p& e3 F$ J7 U1 Y) Q* P2 F
//用于直接加载时获得根接点
/ |5 f& ]! a4 {% ?) |% w//var root = doc.documentelement;
' O2 g8 g3 n9 |) e//两种方式创建根接点
! {3 ^1 K: M+ j Z// var root = doc.createelement(students);
/ N9 m9 _2 G5 W" p1 B! Tvar root = doc.createnode(1,students,);
6 L9 y4 k/ K9 O# U: J3 ~//创建子接点 ; R( v% |3 u$ Z9 p4 }
var n = doc.createnode(1,ttyp,);
; q6 d% M' Z* O% n5 V: [* g( O//指定子接点文本
( m+ W- S& `3 i3 N//n.text = this is a test;
/ A3 f& j6 Y+ O3 f6 v7 y1 f//创建孙接点
) C. s# `$ _0 r' d$ U! vvar o = doc.createelement(sex); 4 c, G5 N% [/ N2 j3 B
o.text = 男; //指定其文本 0 O0 H" u+ L1 a( v
//创建属性
a5 v1 K M- u+ P! Z& i, @var r = doc.createattribute(id); 0 h1 d: d8 n0 a( S9 ]" G
r.value=test; ! O8 o. ]3 x5 r
//添加属性
7 G) _" w5 c& C( ~" L+ hn.setattributenode(r); & @; R; U1 V$ h0 W* p: [9 v7 d
//创建第二个属性
, B' a9 H" e% G9 N" T0 I- X9 _. Wvar r1 = doc.createattribute(class); / p$ f. u3 G O h# l6 |
r1.value=tt; J3 `1 R8 V, d& C
//添加属性 2 L' P. R! }0 I4 p. o
n.setattributenode(r1); $ M+ t$ f: i1 a6 |! e/ n3 b
//删除第二个属性 8 w' D8 E; O9 Z8 C5 c7 b
n.removeattribute(class); ! w0 l9 T8 x1 ]7 f: C
//添加孙接点 8 P' \5 P9 X. R2 d" c" {8 J
n.appendchild(o); " n; P3 Q6 v; R
//添加文本接点
9 k6 t0 J$ j: l+ N4 ]2 d, {- S2 in.appendchild(doc.createtextnode(this is a text node.)); 1 b3 l; ^$ u/ U9 S {
//添加注释 _' Y8 o0 A' ]
n.appendchild(doc.createcomment(this is a comment\n)); + `2 _0 Y+ `( c6 M
//添加子接点 7 I1 a& @2 i" {+ M7 r. q; d" W
root.appendchild(n); 8 B6 R- G8 G. r; R. `) [1 }
//复制接点 1 a; Z% N4 i! q) E7 F2 C8 k
var m = n.clonenode(true);
7 Y+ F3 T+ a& P9 g; `& [ D' ]) z/ a9 ~, Lroot.appendchild(m); 6 P4 {; R' ~% D/ U% U& g9 s
//删除接点 + i+ q& u; ^( w) }; b
root.removechild(root.childnodes(0));
% X5 ]4 j% x( w2 l! e//创建数据段 # e) [$ z5 F' S
var c = doc.createcdatasection(this is a cdata);
: c4 V6 a; g+ Y, Ec.text = hi,cdata;
, q* V3 a& t# }$ [//添加数据段 5 q) c' n' `0 w6 m
root.appendchild(c);
^& u/ O! H! N; U- u7 I% @& L! `//添加根接点 # Z! M$ U0 O8 k+ }
doc.appendchild(root);
z5 h H$ H' K4 S& z//查找接点 5 y, J$ V8 z+ h N1 b
var a = doc.getelementsbytagname(ttyp);
I( S+ V) }$ q: z9 V% F//var a = doc.selectnodes(//ttyp); % q5 [, ^4 @8 u v
//显示改接点的属性
- p J4 k& Z* C6 Q; ^3 H0 Jfor(var i= 0;i<a.length;i++) ! }' T/ A# m7 } Z3 ~' V& W$ V# B
{
! |# F) V/ ?( G( l) p: a0 k7 ralert(a[i].xml);
7 E1 R m* q( r; B0 _1 vfor(var j=0;j<a[i].attributes.length;j++)
9 V9 `1 A7 c# z4 s' {{ # o# I- f' {8 J. P" E* B
alert(a[i].attributes[j].name); ) J! s5 k( E' U7 E7 b
} 9 K8 O4 Q% G+ b
} * t: Z4 s- y N1 P: I0 @4 S* d" j
//修改节点,利用xpath定位节点 7 m, Z& \9 t, S1 t8 L
var b = doc.selectsinglenode(//ttyp/sex);
0 N+ h+ ^( U+ z' ~& q3 pb.text = 女; - K+ U' A- c3 Y, [- P3 Q
//alert(doc.xml);
q9 Q* N# F+ r0 h5 s//xml保存(需要在服务端,客户端用fso)
! [3 |8 ^' R" ?% c2 C4 e//doc.save(); " a. q2 g x; D4 g9 H
//查看根接点xml 8 Y0 A; ]% u/ F2 n4 _( P
if(n)
/ c( M, ^# b; s{ 9 m/ v2 _4 a0 S8 }* w$ W
alert(n.ownerdocument.xml);
/ i- o& k$ c7 _+ ?} 4 G& v" x- U& f& ]
//--> ! b2 o8 P8 Z* T. x+ I N' s' G9 h
</script>
+ t. |6 m5 d3 T6 f: O& h: q" @4 ^ L% ~
更多网页制作信息请查看: 网页制作 |