读取程序---------------------------------------------------------------------------------------------------
package com.yuyi.xml;import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import org.w3c.dom.*;import javax.xml.parsers.*;public class XmlUtil { public Document getDocument(String path){
try{
File file = new File(path);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
System.out.println("factory: "+factory);
DocumentBuilder builder = factory.newDocumentBuilder();
System.out.println("builder: "+builder);
Document doc = builder.parse(file);
System.out.println("doc:"+ doc);
BufferedReader br = new BufferedReader(new FileReader(file));
String context;
while((context = br.readLine())!=null){
System.out.println(context);
}
System.out.println("doc: "+doc);
return doc;
}catch(Exception e){
e.printStackTrace();
return null;
}
} public static void main(String[] args) { XmlUtil xmlUtil = new XmlUtil();
String path = "./src/bean.xml";
Document doc = xmlUtil.getDocument(path);
System.out.println("doc: "+doc);
}
}XML文件---------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="gbk"?><users><user id="0"><name>zhangsan</name><password>lisi</password></user></users>运行结果---------------------------------------------------------------------------------------------------
factory: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl@1172e08
builder: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl@186db54
doc:[#document: null]
<?xml version="1.0" encoding="gbk"?><users><user id="0"><name>zhangsan</name><password>lisi</password></user></users>doc: [#document: null]
package com.yuyi.xml;import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import org.w3c.dom.*;import javax.xml.parsers.*;public class XmlUtil { public Document getDocument(String path){
try{
File file = new File(path);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
System.out.println("factory: "+factory);
DocumentBuilder builder = factory.newDocumentBuilder();
System.out.println("builder: "+builder);
Document doc = builder.parse(file);
System.out.println("doc:"+ doc);
BufferedReader br = new BufferedReader(new FileReader(file));
String context;
while((context = br.readLine())!=null){
System.out.println(context);
}
System.out.println("doc: "+doc);
return doc;
}catch(Exception e){
e.printStackTrace();
return null;
}
} public static void main(String[] args) { XmlUtil xmlUtil = new XmlUtil();
String path = "./src/bean.xml";
Document doc = xmlUtil.getDocument(path);
System.out.println("doc: "+doc);
}
}XML文件---------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="gbk"?><users><user id="0"><name>zhangsan</name><password>lisi</password></user></users>运行结果---------------------------------------------------------------------------------------------------
factory: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl@1172e08
builder: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl@186db54
doc:[#document: null]
<?xml version="1.0" encoding="gbk"?><users><user id="0"><name>zhangsan</name><password>lisi</password></user></users>doc: [#document: null]
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;/**
* DOM解析XML文档示例
*/
public class DOMParser {
public DOMParser() {
}
public static void main(String[] args) throws Exception{
DOMParser domparser = new DOMParser();
domparser.parseXMLFile("src/file/student.xml");
}
/**
* 解析文档
* @param fileName
*/
public void parseXMLFile(String fileName) throws Exception{
File file = new File(fileName);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(file);
doc.normalize(); //获得根元素StudentInfo
Element elmtInfo = doc.getDocumentElement(); //得到所有student元素
NodeList nlStudent = elmtInfo.getElementsByTagName("student"); System.out.println("XML文件开始解析--By DOM");
System.out.println(); //循环输出每一个学生成绩
for (int i = 0; i < nlStudent.getLength(); i++) { //当前student元素
Element elmtStudent = (Element) nlStudent.item(i); NodeList nlCurrent = elmtStudent.getElementsByTagName("name");
System.out.println("姓名:" +
nlCurrent.item(0).getFirstChild().
getNodeValue());
nlCurrent = elmtStudent.getElementsByTagName("sex");
System.out.println("性别:" +
nlCurrent.item(0).getFirstChild().
getNodeValue()); nlCurrent = elmtStudent.getElementsByTagName("lesson"); for (int j = 0; j < nlCurrent.getLength(); j++) { Element elmtLesson = (Element) nlCurrent.item(j);
NodeList nlLesson = elmtLesson.getElementsByTagName(
"lessonName");
System.out.print(nlLesson.item(0).getFirstChild().
getNodeValue());
System.out.print(":");
nlLesson = elmtLesson.getElementsByTagName("lessonScore");
System.out.print(nlLesson.item(0).getFirstChild().
getNodeValue());
System.out.println();
}
System.out.println("------------------------------------");
} System.out.println("XML文件解析结束--By DOM");
}
}
student.xml<?xml version="1.0" encoding="GBK"?><StudentInfo>
<student>
<name>乔聪</name>
<sex>男</sex>
<lesson>
<lessonName>Java初级</lessonName>
<lessonScore>85</lessonScore>
</lesson>
<lesson>
<lessonName>Oracle数据库</lessonName>
<lessonScore>95</lessonScore>
</lesson>
<lesson>
<lessonName>Java中级</lessonName>
<lessonScore>80</lessonScore>
</lesson>
<lesson>
<lessonName>Java高级</lessonName>
<lessonScore>100</lessonScore>
</lesson>
<lesson>
<lessonName>绣花课</lessonName>
<lessonScore>7</lessonScore>
</lesson>
<lesson>
<lessonName>跳绳课</lessonName>
<lessonScore>3</lessonScore>
</lesson>
</student>
<breakLine/>
<student>
<name>花木兰</name>
<sex>女</sex>
<lesson>
<lessonName>射箭</lessonName>
<lessonScore>100</lessonScore>
</lesson>
<lesson>
<lessonName>柔道</lessonName>
<lessonScore>95</lessonScore>
</lesson>
<lesson>
<lessonName>国学</lessonName>
<lessonScore>80</lessonScore>
</lesson>
<lesson>
<lessonName>烹饪</lessonName>
<lessonScore>60</lessonScore>
</lesson>
<lesson>
<lessonName>游泳</lessonName>
<lessonScore>70</lessonScore>
</lesson>
</student>
<breakLine/>
</StudentInfo>
同样谢谢各位。散分。