代码如下:<script language=javascript>
9 d& K# ^+ A7 x6 f, ~; p% n<!--
( [1 @9 _! ~$ M( K$ a6 hvar doc = new activexobject(msxml2.domdocument); //ie5.5+,createobject(microsoft.xmldom) ) T% S* P- q; m9 j- d
//加载文档 ' _& E3 Y6 S$ M2 F' e
//doc.load(b.xml);
0 ]! A u$ M/ l$ D//创建文件头 2 w7 V. C1 B% W5 \) b
var p = doc.createprocessinginstruction(xml,version='1.0' encoding='gb2312'); $ @5 J9 q+ v0 {. y: o
//添加文件头 - d0 o8 L V. Y, j& W0 o
doc.appendchild(p);
- u' v) R% ]9 y! N2 k! |1 \//用于直接加载时获得根接点 & j( |5 G- R# z( Z) R+ H- _
//var root = doc.documentelement; * _/ ~( R2 o) e% K& a
//两种方式创建根接点
, P( X5 M4 ~5 P b// var root = doc.createelement(students); ( [1 i4 P% X& g$ D
var root = doc.createnode(1,students,);
. B5 K2 t& H9 \+ t7 O: Z* s//创建子接点 ! X. l4 L: q5 k0 e4 [- V" }
var n = doc.createnode(1,ttyp,);
* S7 g3 e( u9 z' D0 H/ k7 n//指定子接点文本 ! n5 E, g* V6 G1 {( R& L. p3 K
//n.text = this is a test;
+ b! Y* G9 B& c4 ?//创建孙接点
4 H' h( ?' f3 \1 N/ w/ I" ~3 q$ Mvar o = doc.createelement(sex);
& O( {+ `' D4 M4 `o.text = 男; //指定其文本
& ], H, h ]" P//创建属性
9 _" b# J! p2 z+ {( H& i- wvar r = doc.createattribute(id);
6 V5 v) r/ U- r( a6 w4 Jr.value=test;
' }# G1 B' l- }/ I* U8 `//添加属性 5 V1 n: t& _( i" I5 _
n.setattributenode(r); 4 K8 l( k+ v2 [( u# {$ a
//创建第二个属性 ) |/ U( o0 ?+ k+ h
var r1 = doc.createattribute(class); : e$ [+ ?. g) h* O |9 B n" u
r1.value=tt;
& z `9 O+ E5 a- b% _# N//添加属性
" U! f% K5 M' e$ ^: Wn.setattributenode(r1);
6 v9 J. a7 k. w9 v0 t. m//删除第二个属性
; a5 \$ u `8 a6 {. Gn.removeattribute(class);
0 b7 |9 ]! v) w' H' A//添加孙接点
# f4 n" g2 { i; V* z: {$ [% b) Sn.appendchild(o);
. l1 O- r9 X4 K* K. }# n//添加文本接点
5 A. {* |! k! h3 y/ Zn.appendchild(doc.createtextnode(this is a text node.)); . y7 B% k+ `. r- Q m
//添加注释
0 u6 w% `: _1 w6 Q- |; l& Nn.appendchild(doc.createcomment(this is a comment\n));
: q! Q2 y" A: \* B3 T" l, n1 X//添加子接点
2 G! Q: F% g' ]4 Y t: ^root.appendchild(n); & Y9 V% l6 |! e' \( l5 V' H
//复制接点 + H5 K6 W1 S) b3 K# X
var m = n.clonenode(true); . P7 U4 C, [2 f# {, Z
root.appendchild(m); ! i$ V. B9 |& B" X7 S' f, L
//删除接点
8 U4 Y9 S! `# C& X; `! ~root.removechild(root.childnodes(0)); % ]5 ?! {1 p8 D! W
//创建数据段
; g# l) E$ `8 R3 x3 qvar c = doc.createcdatasection(this is a cdata);
; K: B9 f" m. A) y6 |c.text = hi,cdata; 3 J0 c5 k9 j$ A7 a1 H" N( l
//添加数据段 2 r4 {$ c; k5 p) E
root.appendchild(c); , z+ r T$ i2 Q' v( T5 k" C! Y
//添加根接点
! I/ v$ U/ ?3 S4 a7 udoc.appendchild(root); : `; ^, E/ s/ l3 L6 Q! z2 Z9 W
//查找接点 3 s' H7 V# O1 Z6 ~' W+ b3 ^
var a = doc.getelementsbytagname(ttyp); 8 ^* m& R- q" g1 k
//var a = doc.selectnodes(//ttyp); . F c% W1 |0 B* b0 G% O# p( L
//显示改接点的属性 / L/ Q) U0 t6 p; { Q7 V. e+ X3 r
for(var i= 0;i<a.length;i++)
; N% C- O% {& l! ^5 A{
0 o7 x6 m6 S% ialert(a[i].xml);
4 L2 o' @8 ?& W) G3 zfor(var j=0;j<a[i].attributes.length;j++) 6 m3 k- \4 O" m/ h& a4 R; h
{ 7 _$ a& i% `8 W- H" d7 B* R
alert(a[i].attributes[j].name);
# C m: U U. w0 I3 ?}
+ P4 O! @6 J9 D( y}
4 A% X3 {- J/ B( k3 V4 e, ]: J//修改节点,利用xpath定位节点 $ G G0 X" m6 R: I# y! G) P C% D
var b = doc.selectsinglenode(//ttyp/sex); $ h3 k7 M: H v+ m$ w; Y6 P) a
b.text = 女; , Y/ f, p& {4 M0 ~6 A
//alert(doc.xml); ( i+ q8 R R9 q, j9 [ q* N3 P( V
//xml保存(需要在服务端,客户端用fso)
/ g3 A* w% k( `* f: X* }. r9 v. h//doc.save(); - I9 A, C* N% r9 m r# p
//查看根接点xml 1 {3 l# V5 V |* T7 `
if(n) , r' p. @6 ?& W* l" P& g5 u- J$ Z* m
{
8 F9 p! ~' l _7 Dalert(n.ownerdocument.xml);
8 ~ }( q0 E/ E3 F$ L3 C}
e0 ?1 ?/ W" d2 u% B//-->
$ L: Q; i+ ~6 Y( K( W7 F3 a</script>9 E3 Y9 Y n' y6 q2 W
: r5 u* i2 c$ y更多网页制作信息请查看: 网页制作 |