如何学习XML?
2019-04-28 12:02
169 查看
关于XML的详细教学内容:学习XML
(XML(可扩展标记语言)是W3C的推荐标准,是一种很像超文本标记语言的标记语言,它的设计宗旨是传输数据,而不是显示数据;它的标签没有被预定义,需要自行定义标签;具有自我描述性。
XML 不是 HTML 的替代,XML 和 HTML 为不同的目的而设计:XML 被设计用来传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观;HTML 旨在显示信息,而 XML 旨在传输信息。)
- 读取XML
- 写入XML
- 新建XML
- 创建构造XML
创建新的xml文档:
[code]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输出到文件上面:
[code]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:
[code] 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);//将根目录添加到文档中去
输出结果:
[code]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中的数据:
[code]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进行查找操作:
[code] 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 }
更多精品课程:
阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)
相关文章推荐
- solr7.1.0学习笔记(7)---配置文件managed-schema(schema.xml)-如何定义动态字段dynamicField和复制字段
- 什么是XML?如何学习XML?
- 学习如何把数据库数据提取为XML(转)
- 学习XML:如何书写XML?
- solr7.1.0学习笔记(6)---配置文件managed-schema(schema.xml)-如何定义字段field
- 学习如何用CSS格式化XML
- android学习之布局(如何动态加入其它xml文件中的控件)
- XML基础知识学习一(如何使用XML?)
- ACEXML解析XML文件——我是如何学习并在短时间内掌握一个库的使用方法的
- XML基础知识学习二(如何使用XML?)
- Linux如何学习
- jdom学习:读取xml文件
- spring学习笔记---------applicationContext.xml 1
- 一起谈.NET技术,如何将XML与OBJECT进行相互转换(泛型以及通用方法)
- 如何在php文件中完全显示xml的结构
- 如何学习开源框架
- Android ViewPager放入多个XML如何监听其的控件
- XML轻松学习手册(5)XML实例解析
- [翻译] 如何学习Cocoa
- java的xml学习[使用SAX解析XML文件]