※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已生成");
}
}
※
沒有留言:
張貼留言