XML解析:
在xml文件中由于更多的是描述信息的内容,所以在得到一个xml文档之后应该利用程序按照里面元素的定义名称取出对应的内容,这一过程就称为xml解析。
解析xml文件的4种方式:
1.DOM
2.SAX
3.JDOM
4.DOM4J
文档对象模型(DOM)
DOM---对象化的XML数据接口
它定义了XML文档的逻辑结构,给出了一种访问和处理XML文档的方法。利用DOM,程序开发人员可以动态地创建文档,遍历文档结构,添加、修改、删除文档内容,改变文档的显示方式等等。
DOM树
DOM这个层次的结构是一棵根据XML文档生成的节点树。在这棵节点树中,有一个根节点--Document节点,所有其他的节点都是根节点的后代节点。节点树生成之后,就可以通过DOM接口访问、修改、添加、删除、创建树中的节点和内容。
读入xml:
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
// 获取解析器
DocumentBuilder builder = factory.newDocumentBuilder();
// 解析xml文档
Document doc = builder.parse(new File("src\\dom.xml"));
Element root = builder.getDocumentElement();//获得根元素
写回xml:
TransformerFactory tfactory=TransformerFactory.newInstance();
Transformer tformer = tfactory.newTransformer();
tformer.transform(new DOMSource(doc), new StreamResult(new FileOutputStream("src\\dom1.xml")));
得到文档模型的根元素
Element root = doc.getDocumentElement();
元素Element的函数:
String getTagName() -得到标签的名字
String getAttribute(“unit”) -得到元素的unit属性值
节点Node的函数:
NodeList getChildNodes() - 得到子节点的集合
Node getFirstChild() - 得到第一个子节点
Node getLastChild() - 得到最后一个子节点
节点Node的函数:
Node getNextSibling() - 得到下一个兄弟节点
Node getPreviousSibling() - 得到前一个兄弟结点
Node getParentNode() - 得到父节点
NamedNodeMap getAttributes() - 得到所有的属性集合
String getNodeName() - 得到当前节点的名字
String getNodeValue() - 得到当前节点的值
NodeList的函数
int getLength() -得到集合长度
Node item(int index) - 得到集合中的一个元素
写XML文档函数
DocumentBuilder 的函数:
Document doc = builder.newDocument(); -新建一个模型
Document 的函数:
Element createElement(String name) – 建立一个元素
Text createTextNode(String data)-创建一个文本节点
XML文件解析
最新推荐文章于 2024-06-29 12:06:41 发布