代码如下:<script language=javascript>
0 |6 U/ R9 j0 _ u& J# {- i4 k/ m<!-- $ A% R0 K( w/ I3 N& ?
var doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom) * T) w9 u$ `8 z, o/ q
//加载文档
0 e9 _: ~# Z8 f3 H! H& @% `1 l$ H//doc.load(b.xml); 9 l3 Q4 W# c! y4 L+ @1 k. W3 n8 G
//创建文件头 * k' D/ K, }7 A4 M, `8 y
var p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312');
2 r% |4 q z$ ~) R# B) J6 C//添加文件头 # s" L& `! [( v
doc.appendchild(p); 7 t2 C* i/ [; N$ ]# o! r6 G
//用于直接加载时获得根接点 & @# v' J# Z# k2 @' B A. P" Y# j
//var root = doc.documentelement;
; c, j U2 q {! M& J//两种方式创建根接点 8 Z" ]- \7 I' O* t) F$ f+ H$ F6 h
// var root = doc.createelement(students); " D7 u3 B# `9 K4 x
var root = doc.createnode(1,students,);
0 R5 _& T# |' a, C# B3 r) f//创建子接点
/ V' c0 Y. E. g6 I4 W+ w) ~var n = doc.createnode(1,ttyp,);
! M# a" W/ |3 w( b) s//指定子接点文本
% ]/ ]" u) q4 `//n.text = this is a test;
4 y* D1 g) T( }//创建孙接点
8 s8 i; T+ S! v7 t1 _var o = doc.createelement(sex);
$ w* |9 B5 m1 u0 @" B( ro.text = 男; //指定其文本
d& L0 _* K! g. R//创建属性
# u. y$ G/ l- d5 hvar r = doc.createattribute(id); 9 C# ?7 h* Z, Z2 i: J6 |, T
r.value=test;
& k4 ^7 R* |& V/ B* e//添加属性
, g/ h4 X$ `* En.setattributenode(r); & u X" `6 f! J' A( w
//创建第二个属性
0 D' z0 l: k6 g1 z' i1 Rvar r1 = doc.createattribute(class); z+ ?; p, p: ]% @# D/ b
r1.value=tt;
0 Q" [$ b S. d# x& x$ y//添加属性 * J) s( p3 C9 p; `0 ]+ p. f
n.setattributenode(r1); ( P4 y( L! ~# l& B3 k$ {
//删除第二个属性
- W# s( F3 z& Pn.removeattribute(class); ' u9 V* i% q4 ?0 m
//添加孙接点
9 J# S7 y4 q& y1 V! v7 |' P& T0 o0 kn.appendchild(o); 4 P$ J6 w4 H/ s4 Y1 H2 P: ]
//添加文本接点
1 l. {: w3 X) Y! Un.appendchild(doc.createtextnode(this is a text node.));
; m0 ]! K" {* c/ Q+ i: [. |//添加注释 5 K: \% Q; I$ {; {5 v
n.appendchild(doc.createcomment(this is a comment\n));
+ H8 b" q A% d y4 `; W! w# I//添加子接点 ! ^7 ?1 v+ S& |
root.appendchild(n);
1 D+ V6 Q) N" Z//复制接点
% h% u/ Z) y$ n) h5 ]7 avar m = n.clonenode(true);
2 W! Q5 Q, I f" P- @$ ~- {root.appendchild(m); ! x* u' e. K: K* ^# A6 F
//删除接点 1 g# `+ X+ h) K5 a3 B2 @% J% [7 f
root.removechild(root.childnodes(0)); 1 o7 S" S* P8 N/ |2 f% q7 _3 o' [
//创建数据段
+ n1 v+ v1 t- V7 c6 V; w" Gvar c = doc.createcdatasection(this is a cdata);
8 e) X! S0 u# ]$ t. L/ Rc.text = hi,cdata;
5 J/ s, y0 ^2 Z//添加数据段 0 j! A1 [; I6 z% d0 n( G
root.appendchild(c);
( F; n% X2 J0 Z; {1 ^- X1 K//添加根接点 1 `. [. {9 y1 f% c+ U$ T+ o; K+ `/ `
doc.appendchild(root);
$ \4 Y m8 R5 J2 V. a t1 E//查找接点 ( } G) r5 [& e. l i) L# [8 L
var a = doc.getelementsbytagname(ttyp); ) I. p W! c+ r* X# ^
//var a = doc.selectnodes(//ttyp);
* ]3 [6 I8 X& D- y//显示改接点的属性
+ v5 h# |5 k% ` C& Q, Y' Wfor(var i= 0;i<a.length;i++)
7 U$ M* [3 l2 p* M* h" W{ 5 F2 s8 N% a& G
alert(a[i].xml);
9 G2 p e5 @1 Y: jfor(var j=0;j<a[i].attributes.length;j++) ) Y, F0 b4 D! S3 u$ l$ W. S- ]
{ 1 Z% x4 D4 N/ B {4 O
alert(a[i].attributes[j].name); 0 w+ i& I, ]( g, b) n: o# C
} ! G3 l5 C5 X. E* r( m9 }1 U
} : T/ L- s0 j: n! p5 X5 `1 z/ n
//修改节点,利用xpath定位节点
/ z) w, a$ c. C T6 Uvar b = doc.selectsinglenode(//ttyp/sex); $ _+ C# I" d( Q+ }
b.text = 女;
8 n( p6 p P! b7 j7 Y {//alert(doc.xml);
* s7 N* w4 j$ e, F4 G//xml保存(需要在服务端,客户端用fso)
+ b: [" d0 Z' o1 N, s//doc.save();
- A, D4 q1 l: a" D, a; V//查看根接点xml
8 P, | C" ^% b$ |) C% w) H7 ` ]if(n) : j# q; C. h }8 |6 O0 D" S6 ^) K
{
! s9 @2 ]/ A9 z3 q. [alert(n.ownerdocument.xml); 3 }! z: A/ I9 m# I& o; o
}
$ G4 `2 g8 h, u$ l' S: n( L//--> ' \2 B3 @2 d6 s
</script>- ?8 E+ a9 N' `
Y$ x& {7 A1 @7 i# F. N' d更多网页制作信息请查看: 网页制作 |