Java解析XML(一) 使用DOM读取XML文件
2017-10-10 23:11
666 查看
DOM
DOM 是最容易使用的java XML解析器。它可以解析一个完整的XML文档并将其加载到内存中,然后用对象对其进行建模,以实现简单的node遍历。DMO是将XML直接加载到内存中进行处理的,所以不建议解析较大的XML文件。读取XML文件
package byron4j.xml; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class DomDemo1 { public static void main(String[] args) throws Exception{ String classPath = DomDemo1.class.getClass() .getResource("/").getPath(); File file = new File(classPath); String fth = file.getParent(); File fFile = new File(fth); String xmlPath = fFile.getParent() + "\\src\\xmlDemo.xml"; File fXmlFile = new File(xmlPath); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(fXmlFile); doc.getDocumentElement().normalize(); System.out.println("Root element :" + doc.getDocumentElement().getNodeName()); NodeList nList = doc.getElementsByTagName("note"); System.out.println("----------------------------"); for (int temp = 0; temp < nList.getLength(); temp++) { Node nNode = nList.item(temp); System.out.println("\nCurrent Element :" + nNode.getNodeName()); if (nNode.getNodeType() == Node.ELEMENT_NODE) { Element eElement = (Element) nNode; System.out.println("author==> : " +eElement.getAttribute("auth")); System.out.println("1==> : " + eElement.getElementsByTagName("to").item(0).getTextContent()); System.out.println("2==> : " + eElement.getElementsByTagName("from").item(0).getTextContent()); System.out.println("3==> : " + eElement.getElementsByTagName("heading").item(0).getTextContent()); System.out.println("4==> : " + eElement.getElementsByTagName("body").item(0).getTextContent()); } } } }
运行结果:
Root element :note ---------------------------- Current Element :note author==> : Byron.y.y 1==> : Tove 2==> : Jani 3==> : Reminder 4==> : Don't forget me this weekend!
xmlDemo.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?> <note auth="Byron.y.y"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
相关文章推荐
- Java:XML篇,使用DOM读取并解析XML
- Java&Xml教程(二)使用DOM方式解析XML文件
- Java乔晓松-使用SAX,DOM,pull解析XML文件以及pull解析生成xml文件
- Java&Xml教程(二)使用DOM方式解析XML文件
- Java&Xml教程(二)使用DOM方式解析XML文件
- JAva使用DOM读取XML数据(解析)
- 在Java下使用DOM来读取/修改Xml文件
- java解析xml之一:使用SAX与DOM
- Java:XML篇,使用DOM4J读取并解析XML
- Java 使用dom读取XML文件及对中文字符的支持
- [Source Code]Java I/O --- ---使用dom读取一个xml文件的叶子节点的text content
- JAVA使用DOM解析XML
- JAVA读取XML,JAVA读取XML文档,JAVA解析XML文档,JAVA与XML,XML文档解析(Document Object Model, DOM)
- JAVA操作XML一(读取):使用DOM读取XML数据的两种具体实现
- 在java中使用dom解析xml的示例分析
- XML的DOM解析 Java实现 使用递归解析一个XML文档
- 使用PHP DOM-XML创建和解析XML文件
- Java 使用DOM创建和读取XML
- java读取XML文件,使用3wc.dom.*包
- java学习笔记——使用DOM解析XML和使用SAX解析XML