如何学习XML?

153 阅读3分钟
关于XML的详细教学内容:
学习XML
(XML(可扩展标记语言)是W3C的推荐标准,是一种很像超文本标记语言的标记语言,它的设计宗旨是传输数据,而不是显示数据;它的标签没有被预定义,需要自行定义标签;具有自我描述性。

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
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }

更多精品课程:

7天玩转云服务器

云数据库Redis版使用教程

玩转云存储对象存储OSS使用入门

阿里云CDN使用教程

负载均衡入门与产品使用指南

阿里云大学官网( 阿里云大学 - 官方网站,云生态下的创新人才工场