※xml.xml
<?xml version="1.0" encoding="UTF-8"?> <root>top1 top2 <first fa="f1" fb="1f"> first-1 <second1 sa="s1">aaa</second1> <second2>bbb</second2> <second3>ccc</second3> </first> top3 <first fa="f2" fb="2f"> first-2 <second1 sa="s2">ddd</second1> <second2>eee</second2> <second3>fff</second3> </first> top4 <first fa="f3" fb="3f"> first-3 <second1 sa="s3">ggg</second1> <second2>hhh</second2> <second3>iii</second3> </first> </root>
※
※maven
<dependency> <groupId>jdom</groupId> <artifactId>jdom</artifactId> <version>1.1</version> </dependency>
※
※讀寫
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
    
public class JDOMTest {
    public static void main(String[] args) throws JDOMException, IOException {
        write();
        read();
    }
    
    private static void read() throws IOException, JDOMException {
        SAXBuilder builder = new SAXBuilder();
        Document doc = builder.build("src/main/java/xml.xml");
    
        Element root = doc.getRootElement();
        List<Element> list = root.getChildren();
        System.out.println(list.size());
        for (Element e : list) {
            System.out.println("===== 取元素和屬性 =====");
            System.out.println(e.getText().trim());
            List<Attribute> attrs = e.getAttributes();
            for (Attribute a : attrs) {
                System.out.println(a.getValue());
            }
            System.out.println("===== 取子元素和屬性 =====");
            System.out.println(e.getChildText("second1"));
            System.out.println(e.getChild("second1").getAttribute("sa").getValue());
            System.out.println(System.getProperty("line.separator"));
        }
    }
    
    private static void write() throws IOException {
        Element root = new Element("root");
        Element first = new Element("first");
        Element second1 = new Element("second1");
        Element second2 = new Element("second2");
        Element second3 = new Element("second3");
    
        root.setText("top1" + System.getProperty("line.separator") + "top2");
        first.setText("first-1");
        second1.setText("aaa");
        second2.setText("bbb");
        second3.setText("ccc");
    
        first.setAttribute("fa", "f1");
        first.setAttribute("fb", "1f");
        second1.setAttribute(new Attribute("sa", "s1"));
    
        root.addContent(first);
        first.addContent(second1);
        first.addContent(second2);
        first.addContent(second3);
    
        Document doc = new Document(root);
    
        File file = new File("D:/" + File.separator + "xml.xml");
        OutputStream fout = new FileOutputStream(file, true);
    
        XMLOutputter out = new XMLOutputter();
        out.setFormat(out.getFormat().setEncoding("UTF-8"));
        out.output(doc, fout);
        System.out.println("XML已生成");
    }
}
※
 
沒有留言:
張貼留言