一、解析XML文件
(一)首先构建DocumentBuilder对象
可以从DocumentBuilderFactory中得到这个对象。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
(二)读入文件
File f = ...
Document doc = builder.pares(f);
或者
URL l = ...
Document doc = builder.parse(u);
亦或者
Inputstream in = ...
Document doc = builder.parse(in);
(三)分析文档
通过调用getDocumentElement,它将返回根元素。
Element root = doc.getDocumentElement();
例如:
<?xml version="1"?>
<font>
...
</font>
调用getDocumentElement方法,返回font元素。
调用getTagName方法可以返回元素的标签名。(如:root.getTagName,返回“font”)
调用getChildNodes方法,这个方法会返回一个NodeList的集合。
item方法,得到指定索引值的项。
getLength方法,提供项的总数。
DTD会自动剔除空白字符。
trim方法,会删除多余的空白字符。
调用getNextSibling方法,得到下一个兄弟节点。
for(Node childNode = element.getFirstChild();
childNode!= null;
childNode = childNode.getNextSibling()){
....
}
getAttributes方法,返回一个NamedNodeMap对象,其中包含了描述属性的Node对象,同Nodelist一样遍历,NameNodeMap,通过调用getNodeName和GetNodeValue方法,得到属性名,属性值。
如果知道属性名直接可以拿到属性值。