好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java使用DOM4j实现读写XML文件的属性和元素

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://HdhCmsTestcnblogs测试数据/chengmuzhe/p/10127895.html

查看更多关于Java使用DOM4j实现读写XML文件的属性和元素的详细内容...

  阅读:13次