DOM解析XML文件
今天工作有个任务是解析XML文件,之前没有做过这个东西,学习了一下,现写出自己的心得和方法。
1.DocumentBuilderFactory用于创建DOM模式的解析器对象 , DocumentBuilderFactory是一个抽象工厂类,它不能直接实例化,但该类提供了一个newInstance方法 ,这个方法会根据本地平台默认安装的解析器,自动创建一个工厂的对象并返回。
2.调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂。
3.调用工厂对象的 newDocumentBuilder方法得到 DOM 解析器对象。
4.调用 DOM 解析器对象的 parse() 方法解析 XML 文档,得到代表整个文档的 Document 对象,进行可以利用DOM特性对整个XML文档进行操作了。
下面是dtd文件
下面是XML文件
下面是解析代码
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ReadXML {
public static void main(String[] args) {
//实例化解析工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
//根据解析器工厂实例化解析器
DocumentBuilder builder = factory.newDocumentBuilder();
try {
//获取xml的全部节点
Document dom = builder.parse(new File("src/parameter/parameter.xml")); //XML文件的地址
NodeList list=dom.getElementsByTagName("menu");
for(int i = 0 ; i
Node name = list.item(i);
//获取每个menu节点里面的文本
String nametext = name.getTextContent();
System.out.println(nametext);
}
} catch (SAXException | IOException e) {
e.printStackTrace();
}
} catch (ParserConfigurationException e) {
}
}
}
希望这篇文文章能对大家有所帮助。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
