标签:概述 工具 dem getchild 表示 需要 cto def 可扩展
特殊字符 | 替代符号 |
& | & |
< | < |
> | > |
" | " |
‘ | ' |
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> <!DOCTYPE 书架 [ <!ELEMENT 书架 (书+)> <!ELEMENT 书 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> <!ELEMENT 售价 (#PCDATA)> ]> <书架> <书> <书名>java从入门到放弃</书名> <作者>你好</作者> <售价>0.01</售价> </书> <书> <书名>c从入门到精通</书名> <作者>我好</作者> <售价>1.00</售价> </书> </书架>
<!ELEMENT 书架 (书+)> <!ELEMENT 书 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> <!ELEMENT 售价 (#PCDATA)>
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> <!DOCTYPE 书架 SYSTEM "book.dtd" > <书架> <书> <书名>java从入门到放弃</书名> <作者>你好</作者> <售价>0.01</售价> </书> <书> <书名>c从入门到精通</书名> <作者>我好</作者> <售价>1.00</售价> </书> </书架>
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> <书架> <书> <书名>java从入门到放弃</书名> <作者>你好</作者> <售价>0.01</售价> </书> <书> <书名>c从入门到精通</书名> <作者>我好</作者> <售价>1.00</售价> </书> </书架>
package com; 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; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.IOException; /** * 2017/10/28 * 说明: */ public class JAXPDemo { public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException { /* * 通过DocumentBuilderFactory获取解析器工厂 */ DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); /** * 通过解析器工厂获取解析器 */ DocumentBuilder builder = builderFactory.newDocumentBuilder(); /** * 解析器解析xml获取document对象 */ Document document = builder.parse(new File("D:\\code\\web\\src\\main\\webapp\\book.xml")); Node book = document.getElementsByTagName("书架").item(0); if(book.getNodeType() == Node.ELEMENT_NODE){ Element e = (Element) book; getNode(e); } } private static void getNode(Node d) { if(d.getNodeType() == Node.ELEMENT_NODE){ System.out.print(d.getNodeName()+"\n"); } NodeList childNodes = d.getChildNodes(); for(int x = 0;x<childNodes.getLength();x++){ Node node = childNodes.item(x); getNode(node); } } }
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> <书架> <书> <书名>java从入门到放弃</书名> <作者>你好</作者> <售价>0.01</售价> </书> <书> <书名>c从入门到精通</书名> <作者>我好</作者> <售价>1.00</售价> </书> </书架>
package com; import javafx.scene.transform.Transform; 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; 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 java.io.File; import java.io.FileOutputStream; import java.io.IOException; /** * 2017/10/28 * 说明: */ public class JAXPDemo { public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException, TransformerException { /* * 通过DocumentBuilderFactory获取解析器工厂 */ DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); /** * 通过解析器工厂获取解析器 */ DocumentBuilder builder = builderFactory.newDocumentBuilder(); /** * 解析器解析xml获取document对象 */ Document document = builder.parse(new File("D:\\code\\web\\src\\main\\webapp\\book.xml")); Node authorNode = document.getElementsByTagName("作者").item(0); if(authorNode.getNodeType() == Node.ELEMENT_NODE){ Element authorElement = (Element) authorNode; authorElement.setTextContent("呵呵"); } TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.transform(new DOMSource(document),new StreamResult(new FileOutputStream("D:\\code\\web\\src\\main\\webapp\\book.xml"))); } }
标签:概述 工具 dem getchild 表示 需要 cto def 可扩展
原文地址:http://www.cnblogs.com/xuweiweiwoaini/p/7740174.html