代码如下:<script language=javascript>
' P- F+ I$ i+ X% P<!--
0 `2 @$ _/ t* _ fvar doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom) / c, @( Y7 p. b4 ~/ `+ m
//加载文档
" K, Y' d G/ r' V0 p& x$ F) N. p//doc.load(b.xml); " n$ X$ Y) w# r1 _' q
//创建文件头
1 u0 A4 T) ]* x# }var p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312');
& ~: S8 p' P6 V9 c( t0 C//添加文件头 ) I/ K7 B L4 }
doc.appendchild(p);
0 q; k( T4 D8 K8 w" R//用于直接加载时获得根接点 ; j& S) ]1 [ t9 Q2 t
//var root = doc.documentelement;
6 _9 K$ P* E! b# e6 U* V//两种方式创建根接点
' U) X# b! v/ w0 C8 D// var root = doc.createelement(students);
, k+ {: r) o9 h- j# b5 r8 tvar root = doc.createnode(1,students,);
& v. I4 Q3 [ f( n9 O' @//创建子接点
9 X& \! W1 g) i% Q; U- ivar n = doc.createnode(1,ttyp,); 7 X9 G% {- u' @1 c2 X1 m# P5 B8 e$ G
//指定子接点文本 ; g5 q4 i$ D& F( s3 [
//n.text = this is a test;
* b; j& E( U+ C- J//创建孙接点
3 P7 Y3 |/ B8 P& Z% A: avar o = doc.createelement(sex); % T# Z2 s6 _* K0 v% y5 g f
o.text = 男; //指定其文本
$ a( i- y h* q1 l# O//创建属性 % M9 c" C1 v0 U l% L9 y' b; e
var r = doc.createattribute(id); & ]% h9 o9 `+ ?( D0 b7 r
r.value=test; 4 N0 V! ?/ X o$ I! \) F8 _* b P
//添加属性 3 `& U3 V& a( l' H
n.setattributenode(r);
( ~" [9 R9 j; g9 o2 g//创建第二个属性 6 r5 O1 p& U8 p7 Q1 [ m" o
var r1 = doc.createattribute(class);
: u) z: u2 V! S2 E' \r1.value=tt;
" J. Y& V) m( J4 L5 k//添加属性
! @3 z: Y, D" n/ K" ?3 d# }' Pn.setattributenode(r1); - w i1 T' K ]6 T4 M
//删除第二个属性 3 J# Z7 q" r8 s
n.removeattribute(class); 6 x a$ B/ h5 m$ `
//添加孙接点
6 c% D) j. f% V* V7 yn.appendchild(o); , T$ t5 p1 _- h+ b8 m* Y5 d6 p% p
//添加文本接点 * Y, W. a; Y/ Y! r
n.appendchild(doc.createtextnode(this is a text node.)); 5 `7 L6 H! a+ O3 f/ i
//添加注释 * F9 K x4 p' f _" x: E. m! I3 y& T
n.appendchild(doc.createcomment(this is a comment\n));
/ J8 o$ O. C; y7 Z( i0 ~# o8 W//添加子接点
- g( z6 M' Q4 j6 S! \root.appendchild(n);
. s! |% l& K0 L2 m ^8 m//复制接点
1 K" `# B! V, y! O3 u- J: ~, b3 b, Mvar m = n.clonenode(true);
1 }# S0 _/ D) P5 R K1 croot.appendchild(m); 3 [/ u7 b9 @! F5 n! K0 A
//删除接点 ( ~9 D; K1 T5 P2 ?% ]0 F
root.removechild(root.childnodes(0));
0 ], v4 S# ^" @: d! G1 |//创建数据段 & f& [6 {8 I5 j& y. Y/ q* g
var c = doc.createcdatasection(this is a cdata);
, t7 }$ e% u* U" i. X" I" j+ l- P; ac.text = hi,cdata;
- W+ }' F' r3 q$ e//添加数据段
, q0 a; Y" {: D: { `9 f/ c! N/ s8 Lroot.appendchild(c); % P C" I: N9 P4 n+ l) V2 C, {
//添加根接点
6 G2 d/ ` M/ `' A: [doc.appendchild(root);
$ K4 I4 L+ R+ {" a. t- E' z//查找接点
: r8 h! R" V! R; B7 mvar a = doc.getelementsbytagname(ttyp);
! K. ]: ^" j, p* a& L3 z1 |//var a = doc.selectnodes(//ttyp);
6 ^2 s! Y$ l' i& A; `) H//显示改接点的属性 1 q0 j L2 i W) {
for(var i= 0;i<a.length;i++)
7 j" ^$ q% I, U/ }" w Q{
: n+ [9 f) M1 K galert(a[i].xml); 3 a$ j: e1 R4 U
for(var j=0;j<a[i].attributes.length;j++)
1 z" }" \ |! Q1 ]1 O( h/ F, }2 A{ 8 _. `3 z- B5 a) `5 N2 g) `4 [5 t( k
alert(a[i].attributes[j].name);
: t( K& F: s+ k3 S+ ~5 [; b$ O2 ~}
5 h! }- J5 L" }/ R5 P}
1 q* J7 M: g$ _9 e. d- b: f//修改节点,利用xpath定位节点 ) M6 u7 `' M3 x# @: H& X: X6 Z
var b = doc.selectsinglenode(//ttyp/sex);
2 I0 Z+ x& M! k6 V6 gb.text = 女;
i1 Z. C7 d' l5 k1 w//alert(doc.xml);
' c$ w/ g$ f5 ?! R//xml保存(需要在服务端,客户端用fso)
1 Q- ~! N' f0 k' l+ I//doc.save();
( h/ i( y/ m/ ~% D$ E5 D//查看根接点xml
, _. D `. }8 `if(n)
) r L+ _. X* _! X& i{
7 A6 L+ l. o+ Falert(n.ownerdocument.xml); . d- c- e( X/ n3 c
}
- ?3 U! N1 o; S* {//--> # ?4 y+ w) N* q- V* O. M2 d
</script>1 f3 x# l- v2 j+ b
; ?# G6 b; K* X0 r更多网页制作信息请查看: 网页制作 |