代码如下:<script language=javascript> ' E/ y" [# }' u- t! d4 e
<!-- ) M! L) f9 ]% m
var doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom)
( O" W5 |1 [- W+ `: V8 A+ x//加载文档
6 h' K: u" V6 J) \//doc.load(b.xml); 8 k; O0 C' p+ n- ^2 W; {' W
//创建文件头
) X. k% H; j; a# ^var p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312'); 1 N# {9 l" Q' j/ L' \& ?; D! G
//添加文件头
' B: \' }5 D5 }doc.appendchild(p); 2 }" v0 ]; ]- L: u
//用于直接加载时获得根接点
( R: t( |* t) ?/ |% W' P5 s0 G5 p& Q//var root = doc.documentelement; ! o0 H. P+ v- ~0 N
//两种方式创建根接点
9 x2 c( c4 X- x! b" \// var root = doc.createelement(students); 3 E( b1 W1 Q7 i
var root = doc.createnode(1,students,); - w0 _5 b4 K: Y$ q0 h. _$ U
//创建子接点
( e: b) K6 J: }. |var n = doc.createnode(1,ttyp,);
+ N4 C: B c8 C6 C$ ~1 {; h//指定子接点文本 ; ]! P' W% c8 L- |1 A$ X% R' v
//n.text = this is a test;
% G7 R( \' s% I/ }8 t' I& P//创建孙接点
; M" R3 d! c1 E# A; bvar o = doc.createelement(sex);
5 \1 f$ c+ s& ~, O5 fo.text = 男; //指定其文本 7 I {2 a R! H3 A+ n& j
//创建属性
1 B9 g; [' C& M- L" `, W; Uvar r = doc.createattribute(id);
- a l$ A! t1 f& B* u( ^3 lr.value=test; , f) L7 f8 \' Q8 L" u
//添加属性
/ u+ k( Q8 h& N& N. Zn.setattributenode(r);
J. i/ \( A7 W2 F//创建第二个属性 ! P7 k* `. P- C: }( r4 \8 B2 m
var r1 = doc.createattribute(class); $ Y' L4 r9 k3 z, l x. W- ~
r1.value=tt; 7 h6 n* X6 z+ z8 Y( d0 S6 i9 Z/ A: j( ]
//添加属性
7 h( e) K# \0 r( d+ I& C7 ^2 Wn.setattributenode(r1);
7 o4 I! N3 {# H7 w F6 t' m5 F//删除第二个属性
1 d, S( f: ~( {% nn.removeattribute(class); 5 t5 B5 k( z G% |
//添加孙接点
. W- n. j* D3 h8 b* Jn.appendchild(o);
g( I; H' A' k: B; N! p$ C& b//添加文本接点
: n J$ P0 X" j) U( B3 S" Wn.appendchild(doc.createtextnode(this is a text node.));
y p# L% }4 k- P- E( ]//添加注释 ( P0 b, T+ Z, V+ h
n.appendchild(doc.createcomment(this is a comment\n));
7 R# ?# ?) N2 q9 d( s//添加子接点
: a+ {$ W# |/ H* \- o) Y' nroot.appendchild(n);
% [# C" W6 T3 z0 }& P9 J4 a I0 G3 l, I6 D//复制接点 0 Q4 H, y( j5 O1 E" G' w q
var m = n.clonenode(true);
5 E( M4 Z- k5 C, V9 Proot.appendchild(m); % L5 ^& |, D4 ^* i7 Y
//删除接点
% m: i/ U7 T4 }, B) n( Mroot.removechild(root.childnodes(0)); , ?5 e4 Q' G3 L4 Q3 U
//创建数据段 0 ^; q o9 Q5 G' [4 d$ I. Y% T! m- m: ~
var c = doc.createcdatasection(this is a cdata);
- H4 k3 j' J/ ~- X$ j$ k R# Cc.text = hi,cdata; / J" j' Z. B+ [9 O3 K
//添加数据段 * h" Y1 U9 q* \! n; u
root.appendchild(c); - e" p5 ^0 p5 j, w5 a" h
//添加根接点 3 I7 H8 b6 W* x% @
doc.appendchild(root);
& G. y- K) h. J, j//查找接点
3 o* g+ x7 G2 H& B$ R" Ovar a = doc.getelementsbytagname(ttyp);
+ O3 p0 B6 j Q6 s6 M3 @//var a = doc.selectnodes(//ttyp);
0 a; D* U: W0 O1 }& a% i//显示改接点的属性
9 n- H, T7 M- ~# y; t. C- v; t: C) W+ zfor(var i= 0;i<a.length;i++) % _8 A3 V' N( T% J1 x/ m! X/ i' X
{ , _ B: J2 t/ m! N
alert(a[i].xml); , l4 k1 Q- B( ^5 ]7 t! ~! f
for(var j=0;j<a[i].attributes.length;j++)
1 z# v. }5 p, l' e" y: F{
8 o; `" w( o0 b) A. ]alert(a[i].attributes[j].name); ' u8 k6 p/ ^" R' B$ i
} 4 }; [* M4 n# _% P0 @' | T, j
} 2 W7 u. {/ g$ }8 R
//修改节点,利用xpath定位节点
* R; H. l4 ]4 ?( Mvar b = doc.selectsinglenode(//ttyp/sex); & E$ j4 A0 n! @* F7 g4 p6 z
b.text = 女;
" l/ t$ W: |8 X7 s4 h7 A//alert(doc.xml);
, l- ^7 D% J! G3 Y0 R//xml保存(需要在服务端,客户端用fso)
7 R' @9 E& ^5 F" ^& P* g8 S//doc.save(); 8 L# V( _+ F' G2 G$ y* W
//查看根接点xml 1 p |: P' ^1 b8 ~
if(n) ' z/ J' ~+ R/ W2 f, f9 ?
{ * U( [9 @) Z1 P; h+ \
alert(n.ownerdocument.xml); ; j1 f# n( p( H4 E. v* s# a
} 6 G8 X- {; \+ W
//-->
( {, D2 P' s! _( @+ M</script>
4 R5 C8 q; d5 X; w7 E5 \ g& m. q% d) E9 g
更多网页制作信息请查看: 网页制作 |