GetElement(nodelist); 打造最好的电脑自学交流论坛2 N" Z: ]; D K, v
7 x1 A% N1 v# n8 Uwww.520diannao.com我爱电脑技术论坛# J) \, P1 A0 j1 I4 F
& K# O1 V! O! k8 D* G4 m我爱电脑技术社区--打造最好的电脑技术自学交流平台其中GetElement方法实现如下:
7 E6 Y4 W' `* U& y- Z) l打造最好的电脑自学交流论坛3 {4 K& }% y5 Z( ]2 `: `1 O/ d
, z* d2 ^# D) b# L9 ^+ ~电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
. |" i$ i0 d$ H4 \" @$ j我爱电脑技术论坛 public void GetElement(NodeList nodelist){
- z5 l0 z+ @3 _; Z# D- C+ Z我爱电脑技术论坛 Node cnode;www.520diannao.com, _1 W& S9 a" g- }' E5 G( b
int i,len;- l. S' y" j' v, i$ u& R9 e5 ]
String str;打造最好的电脑自学交流论坛+ W$ i5 a1 x! N1 ^4 D6 B
if(nodelist.getLength() == 0)
9 d7 A6 E) P5 M q/ X! y9 Twww.520diannao.com // 该节点没有子节点+ G9 {* Z3 y$ d/ G# C" k
我爱电脑技术论坛9 e* \# x$ D( A! u
return;www.520diannao.com4 a) F U9 H0 I- |1 A' b/ e& w
}
8 ^0 [& |) s' p4 h$ E: ~' b8 g$ [我爱电脑技术论坛 for(i=0;i 1)我爱电脑技术论坛$ h& Y) v! J1 ]& l- _4 s) t
System.out.println(" "+str+" "+len);电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站8 |- q, m* T( ]% v8 R
}
) |7 j1 D3 G* K# R* Uwww.520diannao.com }www.520diannao.com2 G7 M7 ^0 b% S+ y; }4 u
}0 o" z6 I4 X+ j; j
打造最好的电脑自学交流论坛3 s3 L+ h) D$ F9 U7 a
打造最好的电脑自学交流论坛4 C0 k |5 P8 [8 q1 ?2 K
我爱电脑技术社区--打造最好的电脑技术自学交流平台; D8 H% d ~2 B, {4 A1 e4 A6 ?9 s
注意:上面的代码只是显示Node类型和Text类型的对象。它们的类型标识分别是1和3。 我爱电脑技术论坛% C5 a" Z/ C+ A4 r8 t
: Y3 u1 \" `+ {" ]9 B* y; ^打造最好的电脑自学交流论坛
2 P: |$ @2 q7 M, n我爱电脑技术社区--打造最好的电脑技术自学交流平台4.3 修改DOM文档
& G- b" n8 o2 f; V5 @www.520diannao.com打造最好的电脑自学交流论坛 X9 K8 j( o; O1 ?
% v5 v$ `; M: H. A) Z打造最好的电脑自学交流论坛修改DOM文档的API在DOM level 2 Core规范中做了说明,jkd1.4中的org.xml.dom中实现了这些API。修改DOM文档操作主要集中在Document、Element、Node、Text等类中,这里给出的例子中是在解析出的DOM文档中增加一系列对象,对应与在XML文件中增加一条记录。 www.520diannao.com N2 P9 W, i" ]8 L, L( @+ c
7 s" c7 |" H. D, g电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" d, w; P) L: M8 g1 J( ]8 Y
// 获得Root对象 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站 S! j+ F# E7 o6 {- @5 H4 P* k
) T; I W: W, r# J; n7 f: E
6 F" v7 `% \1 U9 T
Element root = document.getDocumentElement();
8 s8 _! i" Q2 a" Y* D9 b我爱电脑技术论坛www.520diannao.com1 N7 x% L' V g: M% R
// 在DOM文档中增加一个Element节点
& G+ T' J! q; B3 w5 s( J我爱电脑技术论坛: E+ [4 P; ^! A5 P
www.520diannao.com. `- e! u' D4 _
Element booktype = document.createElement("COMPUTES");
1 Y. m; L: P0 y i+ R$ r% y打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛' G: |2 V' ^" h5 i- j) b+ l
//将该节点转化成root对象的子节点 打造最好的电脑自学交流论坛6 u3 A4 `; ^; Q( e4 b+ C9 [ W! g/ y
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站. m- X" O% Y" Z+ K5 d
2 f& I3 d" |# \- ~( T$ T电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站root.appendChild(cdrom);
# w( R$ O6 g, b9 e9 }打造最好的电脑自学交流论坛电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站: e/ p+ d/ L1 C8 g
//在DOM文档中增加一个Element节点
`3 E7 w* x8 R W2 m) {' L- x6 M/ s6 ]打造最好的电脑自学交流论坛
0 ?& O4 I5 w( Z0 K; e2 H: F, q打造最好的电脑自学交流论坛电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站, I* V3 l$ m) k4 B; ?
Element booktitle = document.createElement("Title");
2 l T, C; S: ~& M- G5 N6 |我爱电脑技术论坛* x) s& Y4 \- r' S) }+ \% a7 d% a
//将该节点转化成booktype对象的子节点 ; B, D1 o# ~2 ~& f; z
打造最好的电脑自学交流论坛: \ D6 v6 s) R# o
6 Q4 Q1 }$ g) B! _4 q0 k8 B) N电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站booktype.appendChild(booktitle);
% K. y+ y- j ~; [. d+ t- \5 w我爱电脑技术论坛电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站8 I, z+ J K0 r" Z: Z
//在DOM文档中增加一个Text节点
! ^& u8 T. S5 B2 ^- g我爱电脑技术论坛我爱电脑技术论坛, S" a$ i8 {, n7 V
1 A' J; R d, E U4 V$ L L我爱电脑技术社区--打造最好的电脑技术自学交流平台Text bookname = document.createTextNode("understand Corba");
5 l8 Z* o8 T j- g9 q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
$ r7 b0 b" @% [- l' J6 W//将该节点转化成bookname对象的子节点
$ O* u4 u( J' o! U, B打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛% [6 h! n0 `3 f( b( {& U. G
www.520diannao.com @+ t& l% f- E1 K; o; b2 C0 h
booktitle.appendChild(bookname); www.520diannao.com* [ y0 l( ]7 {! `/ ~# P8 V. S
7 x8 s1 ]. x) h$ g/ o) [# w% D( y) E. j
www.520diannao.com' ?+ ]% X/ y: J6 h
4.4 将DOM文档转化成XML文件
2 k9 k: e% c9 n# \% E% e# Z7 U5 iwww.520diannao.com电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站/ O, T* w* }# x9 V1 `
( B- B& |) Y0 X- Z5 j: j3 I// 获得将DOM文档转化为XML文件的转换器,在jdk1.4中,有类TransformerFactory
$ r% h3 N0 r8 k7 a8 G
9 Q; X$ u1 r! N9 \www.520diannao.com// 来实现,类Transformer实现转化API。
+ Z3 `3 g! q; h/ t; @我爱电脑技术社区--打造最好的电脑技术自学交流平台$ n7 S5 O% E0 {! |. K2 h
3 P( l9 C- r3 x打造最好的电脑自学交流论坛TransformerFactory tfactory = TransformerFactory.newInstance();
3 N- t9 o5 b5 cwww.520diannao.com5 N6 d! x1 @9 T2 ~# W5 p% H
Transformer transformer = tfactory.newTransformer(); www.520diannao.com& x7 l4 C: K, G0 D
/ q3 A) q, V( d5 ~$ ?4 ]4 @0 G电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站// 将DOM对象转化为DOMSource类对象,该对象表现为转化成别的表达形式的信息容器。
! Q1 I1 m! K) a$ L, r+ I我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术论坛4 v% U7 f C/ ^! G8 C4 _
www.520diannao.com- D ]! m3 G2 Q
DOMSource source = new DOMSource(document); ( n9 C8 P. }$ {
7 l! H- E% \+ ^, Q: w7 m
/* 获得一个StreamResult类对象,该对象是DOM文档转化成的其他形式的文档的容器,
# `$ M% z! g4 W) |( I我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术论坛' s+ U, r, ]7 s: b
可以是XML文件,文本文件,HTML文件。这里为一个XML文件。*/
0 ^& y. |( M+ a+ m我爱电脑技术论坛/ n; H+ }9 n* n# L. }
StreamResult result = new StreamResult(new File(“text.xml”)); 我爱电脑技术社区--打造最好的电脑技术自学交流平台& k9 Q9 f8 n) |) C! o/ i3 i$ S+ s
打造最好的电脑自学交流论坛+ S) o1 C( h" U0 N0 J" ^) o
// 调用API,将DOM文档转化成XML文件。 & a, @" M% t% h/ U" z1 N# A2 j. A
* k* U/ `) r* U$ k. U& X3 h打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛' V/ L0 E! f/ x+ \' U
transformer.transform(source,result); 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站, z# h5 z- t* l
' B4 g5 T4 C2 X: ~2 r" ewww.520diannao.com4 k6 ?4 w6 E. t3 S6 o' u$ F
这里提供了该例程的完整程序,该例程在windows 2000中jdk1.4环境中运行通过。
8 x W, v( u/ |& S6 y我爱电脑技术社区--打造最好的电脑技术自学交流平台% V, t( A+ N7 |1 V$ [$ ^
, f9 y' o4 O I. q2 b. l# x0 o我爱电脑技术论坛以上给出了一个例子,读者可以从中了解到对DOM操作的思路。因为对DOM的操作均遵循了DOM规范,所以也适用于其它语言对DOM的处理。