版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mcgeepanda/article/details/80543501
这两天研究了下JavaII中XML这一章的内容。第一部分大略介绍了下XML的特点,这一部分可能去W3 网站上了解得更详细点。第二部分就是一个解析XML的基本流程。
DocumentBuilderFactory用于创建DOM模式的解析器对象,DocumentBuilderFactory是一个抽象工厂类,它不能直接实例化,但该类提供了一个newInstance方法,这个方法会根据本地平台默认安装的解析器,自动创建一个工厂的对象并返回。
调用 DocumentBuilderFactory.newInstance()方法得到创建 DOM 解析器的工厂:
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();
调用工厂对象的newDocumentBuilder方法得到 DOM 解析器对象:
DocumentBuilder builder = factory.newDocumentBuilder();
把要解析的 XML 文档转化为输入流,以便DOM 解析器解析它:
InputStream instream = new FileInputStream("test.xml");
或者文件
File f = new File("test.xml");
调用 DOM 解析器对象的parse() 方法解析 XM文档,得到代表整个文档的 Document 对象,进行可以利用DOM特性对整个XML文档进行操作:
Document doc = builder.parse(is);
得到 XML 文档的根节点:
Element root = doc.getDocumentElement();
得到节点的子节点:
NodeList child = root.getChildNodes();
然后得到每一个元素:
for(int i = 0;i< child.getLength(); i++)
{
Node childNode = child.item(i);
if(childNode instanceof Element)
{
//...........
}
}