자바 분석 XML dom4j 방식
<?xml version="1.0" encoding="UTF-8"?>
<groups>
<stu id="001">
<name>zero001</name>
<email>[email protected]</email>
</stu>
<stu id="002">
<name>zero002</name>
<email>[email protected]</email>
</stu>
</groups>
Dom4jRead.java import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
public class Dom4jRead {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("default.xml"));
Element rootElement = document.getRootElement();//
System.out.println(" : " + rootElement.getName());
//
for (Iterator it = rootElement.elementIterator(); it.hasNext();) {
Element element = (Element) it.next();
System.out.println(element.getName());
}
// xxx
for (Iterator it = rootElement.element("stu").elementIterator(); it
.hasNext();) {
Element element = (Element) it.next();
System.out.print(element.getName() + ": ");
System.out.println(element.getText());
System.out.println(element.getStringValue());
}
//
for (Iterator it = rootElement.element("stu").attributeIterator(); it
.hasNext();) {
Attribute attribute = (Attribute) it.next();
System.out
.println(attribute.getName() + "=" + attribute.getValue());
}
// rootElement.element("stu"), stu
// List list = rootElement.elements("stu"); stu
}
}
Dom4jWrite.java 실행 결과: out. xml
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Dom4jWrite {
public static void main(String[] args) {
Document document = DocumentHelper.createDocument();
Element root = document.addElement("groups");
Element stuElement = root.addElement("stu");
Element nameElement = stuElement.addElement("name");
Element ageElement = stuElement.addElement("age");
nameElement.addAttribute("id", "1").setText(" ");
ageElement.setText("18");
Element stu = DocumentHelper.createElement("stu");
stu.add(DocumentHelper.createElement("name"));
stu.add(DocumentHelper.createElement("age"));
document.getRootElement().add(stu);
//
// stu.getParent().remove(stu);
try {
// FileWriter out = new FileWriter("my.xml");
// document.write(out);
// out.flush();
// out.close();
//
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
// XMLWriter writer = new XMLWriter(new FileWriter("out.xml"),
// format);
XMLWriter writer = new XMLWriter(new FileOutputStream("out.xml"),
format);
writer.write(document);
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
dom4j 방식 으로 xml 파일 을 읽 습 니 다. 층 을 넘 어 접근 할 수 없고 xpath 와 함께 사용 하면 층 을 넘 어 접근 할 수 있 습 니 다.
간단 한 예제:
xpath.xml
<?xml version="1.0" encoding="UTF-8"?>
<groups>
<stu>
<name id="1"> </name>
<age>18</age>
</stu>
<stu>
<name/>
<age/>
</stu>
</groups>
Dom4jXpath.xml <?xml version="1.0" encoding="UTF-8"?>
<AAA>
<BBB id="b1">
<CCC>
<DDD>d</DDD>
</CCC>
</BBB>
<BBB id="b2" />
<BBB>
<DDD>d</DDD>
</BBB>
<BBB name="bbb" />
</AAA>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.