XML简介
XML与HTML
java 读取XML文件
public class ReadXML { public static void main(String[] args) { try { //1.创建DocumentBuilderFactory工厂 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //2.创建DocumentBuilder对象 DocumentBuilder builder = factory.newDocumentBuilder(); //3.DocumentBuilder对象的parse方法得到Document对象 Document document = builder.parse(new File("xx.xml")); //获取xml文件根元素 Element element = document.getDocumentElement(); System.out.println("cat="+element.getAttribute("cat")); //获取xml文件子级元素 //4.Document对象的getElementsByTagName得到NodeList集合 NodeList list = element.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")); /* Element name = (Element) lan.getElementsByTagName("name").item(0); System.out.println("id="+name.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(); } } }
java 创建XML数据
public class CreatXML { public static void main(String[] args) { try { //DocumentBuilderFactory.newInstance()获取DOM工厂实例 DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); //DocumentBuilder获取DOM解析器 DocumentBuilder builder = factory.newDocumentBuilder(); //创建根节点document Document document = builder.newDocument(); //创建属性名root 并设置其属性 Element root = document.createElement("Languages"); root.setAttribute("cat","it"); //创建节点lan1并赋值 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 lan1.appendChild(name1); lan1.appendChild(ide1); //将lan1添加到属性名 root.appendChild(lan1); //将属性名添加到根节点 document.appendChild(root); //--------定义了用于处理转换的指令 TransformerFactory factory1 = TransformerFactory.newInstance(); Transformer transformer = factory1.newTransformer(); 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(); } } }
使用Dom4j操作XML文件
1.下载Dom4j 的jar包到java项目中
2.创建Document对象
3.使用document.asXML()方法 将其转换成字符串形式