1.
<?xml version="1.0" encoding="UTF-8" standalone="no"?><scores>
<name>张三</name>
<course>Java</course>
<score>95</score>
</student>
<student id="2">
<name>李四</name>
<course>SQL</course>
<score>94</score>
</student>
<student id="3">
<name>王五</name>
<course>C#</course>
<score>92</score>
</student>
</scores>
2.
package Demo3;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Test {
Document document = null;
public void getDocument() {
DocumentBuilderFactory db = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = db.newDocumentBuilder();
document = builder.parse("src\\Demo3\\NewFile4.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void show() {
NodeList list = document.getElementsByTagName("student");
for (int i = 0; i < list.getLength(); i++) {
Node student = list.item(i);
Element element = (Element) student;
String num = element.getAttribute("id");
System.out.println("编号为:" + num);
NodeList sx = student.getChildNodes();
String name = null;
String course = null;
String score = null;
for (int j = 0; j < sx.getLength(); j++) {
Node node = sx.item(j);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element2 = (Element) node;
if (element2.getTagName().equals("name")) {
name = element2.getTextContent();
}
if (element2.getTagName().equals("course")) {
course = element2.getTextContent();
}
if (element2.getTagName().equals("score")) {
score = element2.getTextContent();
}
}
}
System.out.println("姓名:" + name + ",学科:" + course + ",分数:" + score);
}
}
public static void main(String[] args) {
Test test = new Test();
test.getDocument();
test.show();
}
}
3.
package Demo3;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Test2 {
Document document = null;
public void getDocument() {
DocumentBuilderFactory db = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = db.newDocumentBuilder();
document = builder.parse("src\\Demo3\\NewFile4.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void show() {
NodeList list = document.getElementsByTagName("student");
for (int i = 0; i < list.getLength(); i++) {
Node student = list.item(i);
Element element = (Element) student;
String num = element.getAttribute("id");
System.out.println("编号为:" + num);
NodeList sx = student.getChildNodes();
String name = null;
String course = null;
String score = null;
for (int j = 0; j < sx.getLength(); j++) {
Node node = sx.item(j);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element2 = (Element) node;
if (element2.getTagName().equals("name")) {
name = element2.getTextContent();
}
if (element2.getTagName().equals("course")) {
course = element2.getTextContent();
}
if (element2.getTagName().equals("score")) {
score = element2.getTextContent();
}
}
}
System.out.println("姓名:" + name + ",学科:" + course + ",分数:" + score);
}
}
public void del() {
NodeList list = document.getElementsByTagName("student");
for (int i = 0; i < list.getLength(); i++) {
Element element = (Element) list.item(i);
String delName = element.getAttribute("id");
if (delName.equals("1")) {
element.removeChild(element.getElementsByTagName("score").item(0));
}
}
}
public void change() {
try {
// 找到修改的节点
NodeList list = document.getElementsByTagName("student");
for (int i = 0; i < list.getLength(); i++) {
Element element = (Element) list.item(i);
String changeName = element.getAttribute("id");
if (changeName.equals("2")) {
if(element.getTagName().equals("score")) {
element.setTextContent("60");
}
// 修改属性
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void save() {
// 创建一个转换的工厂
TransformerFactory factory = TransformerFactory.newInstance();
try {
// 创建装换器
Transformer transformer = factory.newTransformer();
// 要搬的东西
DOMSource domSource = new DOMSource(document);
// 搬到具体的地方
StreamResult result = new StreamResult(new FileOutputStream("src\\Demo3\\NewFile4.xml"));
// 搬东西的时候要遵循某种规则去搬
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
// 真正的开始搬东西
transformer.transform(domSource, result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void add() {
Element element = document.createElement("student");
element.setAttribute("id", "3");
Element name = document.createElement("name");
name.setTextContent("王五");
Element course = document.createElement("course");
course.setTextContent("C#");
Element score = document.createElement("score");
score.setTextContent("92");
element.appendChild(name);
element.appendChild(course);
element.appendChild(score);
Element element2 =(Element) document.getElementsByTagName("scores").item(0);
element2.appendChild(element);
}
public static void main(String[] args) {
Test2 test2 = new Test2();
test2.getDocument();
test2.del();
test2.change();
test2.add();
test2.save();
test2.show();
}
}
4.
package Demo3;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test3 {
Document document = null;
public void load() {
SAXReader reader = new SAXReader();
try {
document = reader.read("src\\Demo3\\NewFile4.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void show() {
Element element = document.getRootElement();
for (Iterator itscore = element.elementIterator(); itscore.hasNext();) {
Element score = (Element) itscore.next();
String value = score.elementText("score");
System.out.println("成绩:" + value);
}
}
public static void main(String[] args) {
Test3 test3 = new Test3();
test3.load();
test3.show();
}
}