学习 XML

(XML(可扩展标记语言)是W3C的推荐标准,是一种很像超文本标记语言的标记语言,它的设计宗旨是传输数据,而不是显示数据;它的标签没有被预定义,需要自行定义标签;具有自我描述性。

关于XML的详细教学内容:学习XML

XML 不是 HTML 的替代,XML 和 HTML 为不同的目的而设计:XML 被设计用来传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观;HTML 旨在显示信息,而 XML 旨在传输信息。)

1.读取XML

2.写入XML

3.新建XML

4.创建构造XML

 创建新的xml文档:

1 /构造一个XML解析器 并且创建新的文档/

2 1    Document document = null;

3 2        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

4 3        try {

5 4            DocumentBuilder builder = factory.newDocumentBuilder();

6 5            document = builder.newDocument();//创建一个新的XML文件

7 6            //document = builder.parse(fileName);//解析已存在的XML文件

8 7        } catch (ParserConfigurationException e) {

9 8            e.printStackTrace();

10 9        }

将内存中的xml输出到文件上面:

1 //将内存中的xml,输出到文件上面

2        Transformer tf = null;

3        TransformerFactory tff = TransformerFactory.newInstance();

4        try {

5            tf = tff.newTransformer();

6            tf.transform(new DOMSource(document), new StreamResult("src/test.xml"));

7

8        } catch (TransformerConfigurationException e) {

9            e.printStackTrace();

10        } catch (TransformerException e) {

11            e.printStackTrace();

12        }

构建xml:

1        Element root = document.createElement("root");//创建根目录

2       

3        Element student = document.createElement("student");

4       

5        student.setAttribute("name", "xiaoming");//设置student 的属性值

6       

7        /*创建student的子元素*/

8        Element id = document.createElement("id");

9        Element sex = document.createElement("sex");

10        Element age = document.createElement("age");

11       

12        /*设置元素的文本*/

13        id.setTextContent("0001");

14        sex.setTextContent("man");

15        age.setTextContent("18");

16       

17        /*将子元素添加到父元素(student)中*/

18        student.appendChild(id);

19        student.appendChild(sex);

20        student.appendChild(age);

21       

22        root.appendChild(student);//将元素(节点)student 添加到根目录(root)中去

23        document.appendChild(root);//将根目录添加到文档中去

输出结果:

1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>

2 <root>

3    <student name="xiaoming">

4        <id>0001</id>

5        <sex>man</sex>

6        <age>18</age>

7    </student>

8 </root>

获取XML中的数据:

1 <?xml version="1.0" encoding="UTF-8" standalone="no"?><root>

2    <student name="xiaoming">

3        <id>0001</id>

4        <sex>man</sex>

5        <age>18</age>

6    </student>

7    <student name="xiaozhu">

8        <id>0002</id>

9        <sex>man</sex>

10        <age>20</age>

11    </student>

12    <student name="xiaohong">

13        <id>0003</id>

14        <sex>female</sex>

15        <age>15</age>

16    </student>

17 </root>

对XML进行查找操作:

1 //获取student中属性name=xiaoming的所有信息

2        NodeList list_st =document.getElementsByTagName("student");

3        /*遍历所有student的元素*/

4        for(int i=0;i<list_st.getLength();i++)

5        {

6            Node n =list_st.item(i);

7           

8            Element student= (Element)n;//必须强转为元素才能获取到设置的属性,节点获取不了属性

9           

10            /*找出student中属性xiaoming的节点*/

11            if(student.getAttribute("name").equals("xiaoming"))

12            {

13                /*获取所有标签中的文本信息*/

14                String id = student.getElementsByTagName("id").item(0).getTextContent();

15                String sex = student.getElementsByTagName("sex").item(0).getTextContent();

16                String age = student.getElementsByTagName("age").item(0).getTextContent();

17               

18                System.out.println("id:"+id);

19                System.out.println("sex:"+sex);

20                System.out.println("age:"+age);

21                /*输出:

22                  * id:0001

23                  * sex:man

24                  * age:18

25                  */

26            }

27        }

更多精品课程点击:阿里云大学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值