代码如下:<script language=javascript>
+ W7 i, u1 y m9 e6 c$ x9 W<!--
. f( @2 n& d3 E+ A, W: Y' wvar doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom) , P1 B y, y" d; q; e+ e
//加载文档
V! r f7 N3 m' D//doc.load(b.xml); 0 n& d. [/ L' r: ^/ N8 L+ b
//创建文件头 , G. ?4 @- \5 c# `8 t3 H
var p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312'); 7 S3 F: R( {6 J- n; n# J
//添加文件头 ! E6 B; o7 z& E$ I& ~4 _
doc.appendchild(p);
8 H1 U! x& l2 A1 W" N1 G8 e//用于直接加载时获得根接点
6 }, F* C7 {5 z//var root = doc.documentelement; ( }; w; x/ P/ l+ o! c) D7 c
//两种方式创建根接点
* c7 {# j0 e1 j// var root = doc.createelement(students);
1 ?; e4 v6 ~1 Avar root = doc.createnode(1,students,);
% @- z+ \; m: C' H//创建子接点
; f6 b7 l( O% W7 _* evar n = doc.createnode(1,ttyp,); 9 _. n: m+ F% Y7 B! Q0 \
//指定子接点文本 8 `$ M( R# g6 T: x& ]
//n.text = this is a test;
2 L2 T6 e3 [" V6 J) s//创建孙接点
8 I, C. Z! n+ A( n' Rvar o = doc.createelement(sex); * e) R7 `3 J' ^# v6 ~9 B2 E( C
o.text = 男; //指定其文本 . J; `& l* ?( R! n! ~
//创建属性
$ T' Y O* L7 U3 cvar r = doc.createattribute(id);
" R& H3 e/ ~# G0 C6 Zr.value=test;
: G& w0 m! |& U9 ?2 z h//添加属性 7 `# c% T( J. S6 O# ^
n.setattributenode(r);
# ^% O. y3 w7 q) h G4 n# @+ L//创建第二个属性 0 L. l) ^' t0 c9 O
var r1 = doc.createattribute(class);
5 I/ [* e! M+ H6 ]r1.value=tt; * D8 i+ P3 q7 |# w2 U3 W" x
//添加属性 # L' y. V+ V% B
n.setattributenode(r1); * B3 G: e& t5 s% P) H
//删除第二个属性 + {& b8 K6 H8 Z! T
n.removeattribute(class);
( h2 K* ~9 y( y* m. M2 o//添加孙接点
+ m6 g2 t6 T+ S& {* r2 q# On.appendchild(o);
" C6 n; @) k) }1 I- Z//添加文本接点
6 h _1 v& O" }/ B, L3 U i0 pn.appendchild(doc.createtextnode(this is a text node.));
) P7 l+ H% A2 y9 x$ z$ z6 K, Q- \//添加注释 ( @( i" {- A+ x% |4 c- N+ _
n.appendchild(doc.createcomment(this is a comment\n));
7 q: l% F! d8 F7 L//添加子接点 8 P4 P9 t) r. X& F6 L, u& s
root.appendchild(n); ) \. u. ~& s! A. |# G
//复制接点 2 G9 f4 z0 L4 ~% y2 T
var m = n.clonenode(true); - s( p3 n) W3 f; ?/ \7 R( y
root.appendchild(m);
* u5 ?5 R- }" |) I5 _/ K//删除接点
+ x; ?# j9 i( @: W' _root.removechild(root.childnodes(0)); N5 E8 \7 V5 O3 i
//创建数据段 % e& M/ }. u; n) A) S
var c = doc.createcdatasection(this is a cdata);
$ B) v* K+ O9 B9 ?c.text = hi,cdata; 5 I* q1 g% `' B' h) @
//添加数据段
; R+ H- s- t) w$ }" H0 proot.appendchild(c); ; K' L7 p5 K0 C5 Z; D
//添加根接点
0 O7 ]2 D: C! k6 j/ bdoc.appendchild(root); * C/ M/ k4 Y& |; `& D- Z5 d2 b
//查找接点
1 w- w0 ]5 B+ u$ Y; I, ?var a = doc.getelementsbytagname(ttyp);
2 q: q( I3 g+ w& K5 O7 m& W. z//var a = doc.selectnodes(//ttyp);
T2 p4 a2 h- b% n6 V//显示改接点的属性 ; Z& A7 b( b1 B% C* H0 h7 v. v
for(var i= 0;i<a.length;i++)
+ s$ ]+ x. Q" A: z{
4 M1 W/ ]8 q! t/ halert(a[i].xml); * w3 H( F; _6 T3 e9 ^$ M
for(var j=0;j<a[i].attributes.length;j++) ) W* p3 J% C: l0 F
{ & d6 K3 c1 y. ~ P( @ c
alert(a[i].attributes[j].name);
( }+ ~2 E7 E2 J7 W} 3 F3 f* Y( h2 J4 D+ X/ ~# z
} & V% [# E( J& @
//修改节点,利用xpath定位节点
- S& A( j) G- C! }& C# yvar b = doc.selectsinglenode(//ttyp/sex); ( n! K4 k4 r" ~ C, l
b.text = 女;
' H# ^, d5 a# U+ q/ L//alert(doc.xml); 5 J+ X' X. q; {% A
//xml保存(需要在服务端,客户端用fso) . G+ I8 F8 ]9 t% l! T: e- J
//doc.save();
9 x& u) X0 u$ E; u$ ?//查看根接点xml
6 i I" L: f; r0 n1 E ^2 Z2 ^* rif(n)
3 p/ \+ Q% D4 n6 c7 H( R{
! X; H0 O5 d# N5 falert(n.ownerdocument.xml); ! C3 J7 z. r k f8 Q* K( f8 i7 l% g7 g
}
% K% l1 b, V# o//-->
) M) T' O! t' H</script>
: \8 n& ^* Z7 |6 u) a" _( {# o' ^3 T' H5 t% c: m `
更多网页制作信息请查看: 网页制作 |