1.xml介绍:(URL:https://blog.csdn.net/weixin_37861326/article/details/81082144)

xml是用来传输内容的,是w3c推荐的

2.使用java创建xml数据,CreateXml.java

package testcreatexml;

import java.io.File;
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class CreateXml {

public static void main(String[] args) {
try {

//DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
Element root = document.createElement("Languages");
root.setAttribute("cat", "it");

Element lan1 = document.createElement("lan");
lan1.setAttribute("id", "1");
Element name1 = document.createElement("name");
name1.setTextContent("Java");
Element ide1 = document.createElement("ide");
ide1.setTextContent("Eclipse");
lan1.appendChild(name1);
lan1.appendChild(ide1);

Element lan2 = document.createElement("lan");
lan2.setAttribute("id", "2");
Element name2 = document.createElement("name");
name2.setTextContent("Swift");
Element ide2 = document.createElement("ide");
ide2.setTextContent("XCode");
lan2.appendChild(name2);
lan2.appendChild(ide2);

Element lan3 = document.createElement("lan");
lan3.setAttribute("id", "3");
Element name3 = document.createElement("name");
name3.setTextContent("C#");
Element ide3 = document.createElement("ide");
ide3.setTextContent("Visual Studio");
lan3.appendChild(name3);
lan3.appendChild(ide3);

root.appendChild(lan1);
root.appendChild(lan2);
root.appendChild(lan3);
document.appendChild(root);

//-------------

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty("encoding", "UTF-8");

StringWriter writer = new StringWriter();
transformer.transform(new DOMSource(document), new StreamResult(writer));
System.out.println(writer.toString());

transformer.transform(new DOMSource(document), new StreamResult(new File("newxml.xml")));

} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}

}

生成xml内容截图:

运行run as-->java application -->refresh工程就能看到newxml.xml文件创建出来了

======================================================================================================================================================

3.使用java读取xml数据:ReadXML.java

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class ReadXML {

public static void main(String[] args) {
try {

//DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("languages.xml"));
Element root = document.getDocumentElement();
System.out.println("cat="+root.getAttribute("cat"));
NodeList list = root.getElementsByTagName("lan");
for (int i = 0; i < list.getLength(); i++) {
Element lan = (Element) list.item(i);
System.out.println("---------------");
System.out.println("id="+lan.getAttribute("id"));

NodeList clist = lan.getChildNodes();
for (int j = 0; j < clist.getLength(); j++) {
Node c = clist.item(j);
if (c instanceof Element) {
System.out.println(c.getNodeName()+"="+c.getTextContent());
}
}
}

} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

}

最新文章

  1. 【JSOI2010】Group 部落划分 BZOJ 1821
  2. [应用][js+css3]3D盒子导航[PC端]
  3. JavaScript的理解记录(3)
  4. 杭电1241 Oil Deposits
  5. expr命令
  6. VisualSvn Server介绍
  7. C++ 文件操作实例
  8. VC/MFC 使edit控件不能进行粘贴操作
  9. 关于.Net mvc 项目在本地vs运行响应时间过长无法访问时,解决方法!
  10. Linux-VMware Workstation&amp;CentOS-5.5-i386-bin-DVD安装
  11. Function、Object、Prototype 之间的关系解析
  12. 代码之髓读后感——语法&amp;流程&amp;函数&amp;错误处理
  13. DDOS 攻击的防范
  14. 树的子结构(python)
  15. MongoDB作为windows服务来安装
  16. PAT甲题题解-1073. Scientific Notation (20)-字符串处理
  17. Java学习---异常处理的学习
  18. 【记录】mybatis-generator如何使用(maven方式)
  19. MyBatis 使用简单的 XML或注解用于配置和原始映射
  20. css水平居中,竖直居中技巧(二)

热门文章

  1. SAS学习笔记47 Macro Quoting
  2. DEFAULT CURRENT_TIMESTAMP
  3. JS ES6中export和import详解
  4. .Dot NET Cored简介
  5. 今日前端框架Vue学习笔记
  6. weblogic jdbc 相关概念介绍
  7. sql server 2012 分页/dapper/C#拼sql/免储存过程/简易
  8. nginx 作为静态资源web服务
  9. c# 字段成员
  10. STM32 HAL库学习系列第8篇---回调函数总结