dom4可以读取和添加xml文件的属性或者元素
读取属性:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
public static void readattributes() throws documentexception {
file file = new file( "d:\\cmz\\java\\xmltest\\customertest.xml" );
saxreader reader = new saxreader();
document doc = reader.read(file);
element root = doc.getrootelement();
try {
for (iterator iterator = root.elementiterator(); iterator.hasnext();) {
element element = (element) iterator.next();
string customerid = element.attributevalue( "customerid" );
system.out.println( "customerid = " + customerid);
string companyname = element.attributevalue( "companyname" );
system.out.println( "companyname = " + companyname);
system.out.println( "contactname = "
+ element.attributevalue( "contactname" ));
system.out.println( "contacttitle = "
+ element.attributevalue( "contacttitle" ));
system.out.println( "address = "
+ element.attributevalue( "address" ));
system.out.println( "city = " + element.attributevalue( "cit阿y" ));
system.out.println( "postalcode = "
+ element.attributevalue( "postalcode" ));
system.out.println( "country = "
+ element.attributevalue( "country" ));
system.out
.println( "phone = " + element.attributevalue( "phone" ));
system.out.println( "fax = " + element.attributevalue( "fax" ));
system.out
.println( "--------------------------------------------------------\t" );
}
} catch (exception e) {
// todo: handle exception
}
}
|
读取元素:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public static void readinnertest() throws documentexception {
file file = new file( "d:\\cmz\\java\\xmltest\\customer1.xml" );
saxreader reader = new saxreader();
document doc = reader.read(file);
element root = doc.getrootelement();
try {
for (iterator iterator = root.elementiterator(); iterator.hasnext();) {
element type = (element) iterator.next();
system.out.println(type.elementtext( "customerid" ));
system.out.println(type.elementtext( "companyname" ));
system.out.println(type.elementtext( "contactname" ));
system.out.println(type.elementtext( "contacttitle" ));
system.out.println(type.elementtext( "address" ));
system.out.println(type.elementtext( "city" ));
system.out.println(type.elementtext( "postalcode" ));
system.out.println(type.elementtext( "country" ));
system.out.println(type.elementtext( "phone" ));
system.out.println(type.elementtext( "fax" ));
system.out.println( "---------------------------------\t" );
}
} catch (exception e) {
// todo: handle exception
}
}
|
写入属性:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public static void writeattributes() {
document doc = documenthelper.createdocument();
element ele = doc.addelement( "table" );
for ( int i = 1 ; i < 5 ; i++) {
element customers = ele.addelement( "customers" );
customers.addattribute( "customerid" , "alfki" + i);
customers.addattribute( "companyname" , "alfreds futterkiste" + i);
customers.addattribute( "contactname" , "maria anders" + i);
customers.addattribute( "contacttitle" , "sales representative" + i);
customers.addattribute( "address" , "obere str. 57" );
customers.addattribute( "city" , "beijin" );
customers.addattribute( "postalcode" , "12209" );
customers.addattribute( "country" , "germany" );
customers.addattribute( "phone" , "030-0074321" );
customers.addattribute( "fax" , "030-0076545" );
try {
xmlwriter writer = new xmlwriter( new filewriter( new file(
"customertest.xml" )));
writer.write(doc);
writer.close();
} catch (exception e) {
// todo: handle exception
}
}
}
|
写出元素:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
public static void writeinnertest(){
document doc = documenthelper.createdocument();
element ele = doc.addelement( "table" );
for ( int i = 1 ; i < 5 ; i++) {
element customers = ele.addelement( "row" );
element customerid = ele.addelement( "customerid" );
customerid.settext( "alfki" + i);
element companyname = ele.addelement( "companyname" );
companyname.settext( "alfreds futterkiste" + i);
element contactname = ele.addelement( "contactname" );
contactname.settext( "maria anders" + i);
element contacttitle = ele.addelement( "contacttitle" );
contacttitle.settext( "sales representative" + i);
element address = ele.addelement( "address" );
address.settext( "obere str. 57" );
element city = ele.addelement( "city" );
city.settext( "beijin" );
element postalcode = ele.addelement( "postalcode" );
postalcode.settext( "12209" );
element country = ele.addelement( "country" );
country.settext( "germany" );
element phone = ele.addelement( "phone" );
phone.settext( "030-0074321" );
element fax = ele.addelement( "fax" );
fax.settext( "030-0076545" );
}
try {
xmlwriter writer = new xmlwriter( new filewriter( new file(
"customertest2.xml" )));
writer.write(doc);
writer.close();
} catch (exception e) {
// todo: handle exception
}
}
|
可以修改属性的文本内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public static void readupdateattribute() throws documentexception{
file file = new file( "d:\\cmz\\java\\xmltest\\customertest.xml" );
saxreader reader = new saxreader();
document doc = reader.read(file);
element root = doc.getrootelement();
try {
for (iterator iterator = root.elementiterator( "customers" ); iterator.hasnext();) {
element element = (element) iterator.next();
string name = "alfki1" ;
if (name.equals(element.attributevalue( "customerid" )) ) {
attribute attr = element.attribute( "customerid" );
attr.setvalue( "234" );
element contactname = element.addelement( "23424" );
contactname.settext( "676767" );
}
}
xmlwriter writer = new xmlwriter( new fileoutputstream(file));
writer.write(doc);
readattributes();
} catch (exception e) {
// todo: handle exception
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/chengmuzhe/p/10127895.html