DOM模型的XML文件生成读取

时间:2022-02-07 13:32:34
import  org.w3c.dom.Document;
DOM模型的XML文件生成读取
import  org.w3c.dom.Element;
DOM模型的XML文件生成读取
import  org.w3c.dom.Text;
DOM模型的XML文件生成读取
import  org.w3c.dom.Node;
DOM模型的XML文件生成读取
import  org.w3c.dom.NodeList;
DOM模型的XML文件生成读取
import  org.w3c.dom.NamedNodeMap;
DOM模型的XML文件生成读取
import  org.w3c.dom.Attr;
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取
import  javax.xml.parsers.DocumentBuilderFactory;
DOM模型的XML文件生成读取
import  javax.xml.parsers.DocumentBuilder;
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取
import  javax.xml.transform.Transformer;
DOM模型的XML文件生成读取
import  javax.xml.transform.TransformerFactory;
DOM模型的XML文件生成读取
import  javax.xml.transform.OutputKeys;
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取
import  javax.xml.transform.dom.DOMSource;
DOM模型的XML文件生成读取
import  javax.xml.transform.stream.StreamResult;
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取
import  java.util.Properties;
DOM模型的XML文件生成读取
import  java.io.FileOutputStream;
DOM模型的XML文件生成读取
import  java.io.File;
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取DOM模型的XML文件生成读取
public  class  WriteRead  {
DOM模型的XML文件生成读取DOM模型的XML文件生成读取    
public WriteRead() {
DOM模型的XML文件生成读取    }

DOM模型的XML文件生成读取
DOM模型的XML文件生成读取    String FILE_NAME 
= "my.xml";
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取DOM模型的XML文件生成读取    
public void CreateXMLFile() throws Exception {
DOM模型的XML文件生成读取        
//生成Document
DOM模型的XML文件生成读取
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DOM模型的XML文件生成读取        DocumentBuilder dbr 
= dbf.newDocumentBuilder();
DOM模型的XML文件生成读取        Document doc 
= dbr.newDocument();
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//添加内容
DOM模型的XML文件生成读取        
//根节点:
DOM模型的XML文件生成读取
        Element root = doc.createElement("Root");
DOM模型的XML文件生成读取        root.setAttribute(
"att1""Hello");
DOM模型的XML文件生成读取        root.setAttribute(
"att2""World");
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        Text rootText 
= doc.createTextNode("RootDate");
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        root.appendChild(rootText);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        doc.appendChild(root);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//子节点:
DOM模型的XML文件生成读取
        Element child = doc.createElement("Child");
DOM模型的XML文件生成读取        child.setAttribute(
"att1""Hello");
DOM模型的XML文件生成读取        child.setAttribute(
"att2""Earth");
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        Text childText 
= doc.createTextNode("ChildDate");
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        child.appendChild(childText);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        root.appendChild(child);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//孙子节点:
DOM模型的XML文件生成读取
        Element grandchild = doc.createElement("GrandChild");
DOM模型的XML文件生成读取        grandchild.setAttribute(
"att1""Hello");
DOM模型的XML文件生成读取        grandchild.setAttribute(
"att2""Lover");
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        Text grandchildText 
= doc.createTextNode("GrandChildDate");
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        grandchild.appendChild(grandchildText);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        child.appendChild(grandchild);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//生成文件
DOM模型的XML文件生成读取
        TransformerFactory tff = TransformerFactory.newInstance();
DOM模型的XML文件生成读取        Transformer tfr 
= tff.newTransformer();
DOM模型的XML文件生成读取        Properties pts 
= tfr.getOutputProperties();
DOM模型的XML文件生成读取        pts.setProperty(OutputKeys.ENCODING, 
"GBK");
DOM模型的XML文件生成读取        tfr.setOutputProperties(pts);
DOM模型的XML文件生成读取        tfr.transform(
new DOMSource(doc),
DOM模型的XML文件生成读取                      
new StreamResult(new FileOutputStream(FILE_NAME, false)));
DOM模型的XML文件生成读取    }

DOM模型的XML文件生成读取
DOM模型的XML文件生成读取DOM模型的XML文件生成读取    
public void ReadXMLFile() throws Exception {
DOM模型的XML文件生成读取        
//读取XML文件
DOM模型的XML文件生成读取
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DOM模型的XML文件生成读取        DocumentBuilder dbr 
= dbf.newDocumentBuilder();
DOM模型的XML文件生成读取        File file 
= new File(FILE_NAME);
DOM模型的XML文件生成读取        Document doc 
= dbr.parse(file);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        Element root 
= doc.getDocumentElement();
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//顺序读取所有节点及属性
DOM模型的XML文件生成读取
        System.out.println("The root element is:" + root.getNodeName());
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        NodeList children 
= root.getChildNodes();
DOM模型的XML文件生成读取        System.out.println(
"There are " + children.getLength() +
DOM模型的XML文件生成读取                           
" nodes in this document.");
DOM模型的XML文件生成读取        
DOM模型的XML文件生成读取        System.out.println(
"**********");
DOM模型的XML文件生成读取        
for (Node child = root.getFirstChild(); child != null;
DOM模型的XML文件生成读取DOM模型的XML文件生成读取                          child 
= child.getNextSibling()) {
DOM模型的XML文件生成读取            System.out.println(child.getNodeName() 
+ " = " +
DOM模型的XML文件生成读取                               child.getNodeValue());
DOM模型的XML文件生成读取        }

DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        System.out.println(
"**********");
DOM模型的XML文件生成读取        StepThrough(root);
DOM模型的XML文件生成读取        
DOM模型的XML文件生成读取        System.out.println(
"**********");
DOM模型的XML文件生成读取        StepThroughAll(root);
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//读取指定节点的值
DOM模型的XML文件生成读取
        System.out.println("**********");        
DOM模型的XML文件生成读取        NodeList nl 
= root.getElementsByTagName("GrandChild");        
DOM模型的XML文件生成读取        System.out.println(nl.item(
0).getFirstChild().getNodeValue());
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取        
//读取指定节点的属性值
DOM模型的XML文件生成读取
        System.out.println("**********");
DOM模型的XML文件生成读取        NodeList n2 
= root.getElementsByTagName("Child");
DOM模型的XML文件生成读取        Element el2 
= (Element)n2.item(0);
DOM模型的XML文件生成读取        Attr attr 
= el2.getAttributeNode("att2");        
DOM模型的XML文件生成读取        System.out.println(attr.getValue());
DOM模型的XML文件生成读取    }

DOM模型的XML文件生成读取    
DOM模型的XML文件生成读取DOM模型的XML文件生成读取    
private void StepThrough(Node start) {
DOM模型的XML文件生成读取        System.out.println(start.getNodeName() 
+ " = " + start.getNodeValue());
DOM模型的XML文件生成读取        
for (Node child = start.getFirstChild(); child != null;
DOM模型的XML文件生成读取DOM模型的XML文件生成读取                          child 
= child.getNextSibling()) {
DOM模型的XML文件生成读取            StepThrough(child);
DOM模型的XML文件生成读取        }

DOM模型的XML文件生成读取    }

DOM模型的XML文件生成读取
DOM模型的XML文件生成读取DOM模型的XML文件生成读取    
private void StepThroughAll(Node start) {
DOM模型的XML文件生成读取        System.out.println(start.getNodeName() 
+ " = " + start.getNodeValue());
DOM模型的XML文件生成读取DOM模型的XML文件生成读取        
if (start.getNodeType() == Node.ELEMENT_NODE) {
DOM模型的XML文件生成读取            NamedNodeMap startAtt 
= start.getAttributes();
DOM模型的XML文件生成读取DOM模型的XML文件生成读取            
for (int i = 0, len = startAtt.getLength(); i < len; i++{
DOM模型的XML文件生成读取                Node attr 
= startAtt.item(i);
DOM模型的XML文件生成读取                System.out.println(
" Attribute: " + attr.getNodeName() + " = " +
DOM模型的XML文件生成读取                                   attr.getNodeValue());
DOM模型的XML文件生成读取            }

DOM模型的XML文件生成读取        }

DOM模型的XML文件生成读取        
for (Node child = start.getFirstChild(); child != null;
DOM模型的XML文件生成读取DOM模型的XML文件生成读取                          child 
= child.getNextSibling()) {
DOM模型的XML文件生成读取            StepThroughAll(child);
DOM模型的XML文件生成读取        }

DOM模型的XML文件生成读取    }

DOM模型的XML文件生成读取
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取DOM模型的XML文件生成读取    
public static void main(String[] args) {
DOM模型的XML文件生成读取        WriteRead writeread 
= new WriteRead();
DOM模型的XML文件生成读取
DOM模型的XML文件生成读取DOM模型的XML文件生成读取        
try {
DOM模型的XML文件生成读取            writeread.CreateXMLFile();
DOM模型的XML文件生成读取DOM模型的XML文件生成读取        }
 catch (Exception e) {
DOM模型的XML文件生成读取            e.printStackTrace();
DOM模型的XML文件生成读取        }

DOM模型的XML文件生成读取DOM模型的XML文件生成读取        
try {
DOM模型的XML文件生成读取            writeread.ReadXMLFile();
DOM模型的XML文件生成读取DOM模型的XML文件生成读取        }
 catch (Exception e) {
DOM模型的XML文件生成读取            e.printStackTrace();
DOM模型的XML文件生成读取        }

DOM模型的XML文件生成读取
DOM模型的XML文件生成读取    }

DOM模型的XML文件生成读取}
  运行结果:
生成文件:
DOM模型的XML文件生成读取<?xml version="1.0" encoding="GBK"?><Root att1="Hello" att2="World">RootDate<Child att1="Hello" att2="Earth">ChildDate<GrandChild att1="Hello" att2="Lover">GrandChildDate</GrandChild></Child></Root>
打印结果:
The root element is:Root
There are 2 nodes in this document.
**********
#text = RootDate
Child = null
**********
Root = null
#text = RootDate
Child = null
#text = ChildDate
GrandChild = null
#text = GrandChildDate
**********
Root = null
 Attribute: att1 = Hello
 Attribute: att2 = World
#text = RootDate
Child = null
 Attribute: att1 = Hello
 Attribute: att2 = Earth
#text = ChildDate
GrandChild = null
 Attribute: att1 = Hello
 Attribute: att2 = Lover
#text = GrandChildDate
**********
GrandChildDate
**********
Earth
DOM模型:
org.w3c.dom
      • interface org.w3c.dom.Comment
      • interface org.w3c.dom.Text
读取,生成XML文件,用到javax.xml的一些东西。