`

一个简单的dom方式读取xml的例子

 
阅读更多

从hadoop源码里摘取得一个小例子

 

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.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.w3c.dom.Text;

import org.xml.sax.SAXException;

 

public class XmlReader {

 

public static void main(String[] args) throws ParserConfigurationException, Exception, IOException {

 DocumentBuilderFactory docBuilderFactory 

       = DocumentBuilderFactory.newInstance();

     //ignore all comments inside the xml file

     docBuilderFactory.setIgnoringComments(true);

 

     //allow includes in the xml file

     docBuilderFactory.setNamespaceAware(true);

     try {

         docBuilderFactory.setXIncludeAware(true);

     } catch (UnsupportedOperationException e) {

       System.out.println("Failed to set setXIncludeAware(true) for parser "

               + docBuilderFactory.toString()

               + ":" + e.toString()

               );

     }

     

     DocumentBuilder builder = docBuilderFactory.newDocumentBuilder();

     Document doc = null;

     Element root = null;

     doc = builder.parse("G://test1.xml".toString());

     

     root = doc.getDocumentElement();

     NodeList props = root.getChildNodes();

     

     for (int i = 0; i < props.getLength(); i++)

     {

       Node propNode = props.item(i);

       if (!(propNode instanceof Element))

         continue;

       Element prop = (Element)propNode;

       if (!"property".equals(prop.getTagName()))

         System.out.println("bad conf file: element not <property>");

      

       NodeList fields = prop.getChildNodes();

       String attr = null;

       String value = null;

       String description=null;

       boolean finalParameter = false;

       for (int j = 0; j < fields.getLength(); j++) 

       {

         Node fieldNode = fields.item(j);

         if (!(fieldNode instanceof Element))

           continue;

         Element field = (Element)fieldNode;

         if ("name".equals(field.getTagName()) && field.hasChildNodes())

           {

         attr = ((Text)field.getFirstChild()).getData().trim();

         System.out.println("attr="+attr);

           }

         if ("value".equals(field.getTagName()) && field.hasChildNodes())

         {

         value = ((Text)field.getFirstChild()).getData();

         System.out.println("value="+value);

         }

         if ("final".equals(field.getTagName()) && field.hasChildNodes())

           {

         finalParameter = "true".equals(((Text)field.getFirstChild()).getData());

         System.out.println("attr="+attr);

           }

         if ("description".equals(field.getTagName()) && field.hasChildNodes())

           {

         description = ((Text)field.getFirstChild()).getData();

         System.out.println("description="+description);

           }

       }

     }

}

 

分享到:
评论

相关推荐

    Java用DOM4J读取XML

    做Java课程设计有用到的例子,是个一看就能上手的例子。

    Dom4j解析配置文件与xml小例子

    Dom4j解析xml与配置文件的小例子,简单的Dom4j的小应用。

    dom4j读取xml

    这个是blog例子的完整资源包,不是什么好的资源

    android json与xml解析 例子 demo

    android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析

    java 解析XML性能对比分析Demo

    Java 解析XML性能分析Demo。包含了DOM解析,SAX解析, JDOM解析,DOM4J解析,JAXB解析例子。

    java语言——四种读取xml文件的方式,以及实现对excel文件的读取与保存(含相关的jar包)

    本资源分别用了四种方式:原生DOM、JDOM、SAX和DOM4J实现的对xml文件的读取,另外还有对excel文件读取与保存的例子,并且资源带有jdom.jar、poi-ooxml.jar和poi-3.7jar包

    Java+flex使用dom4j读写xml

    这个小例子是使用Java作为服务端、Flex做前台,对一个xml文件的读取和写入。 环境:MyEclipse6.0.1+Flex3插件版,jdk1.6,tomcat6.0,dom4j1.6.1,lcds.war, 使用技术:1.Java+flex,及其对象的转换。 2.Java方面...

    dom4j 例子,演示了3个功能

    例子演示了3个功能 1、创建、读取XML 2、XML通过XSL转换成HTML 3、验证XSL

    Java通过XML Schema校验XML

    ava校验XML是件很扯淡的事情,... 下面不扯这些废话了,我用DOM4j结合javaxml api使用XSD来校验一个xml有效性,下面这个例子虽然和蹩脚,但是也费了一番功夫,放出来大家研究吧,有更好的实现也希望能和我一同分享。

    Tinyxml 源代码(VC6 & VS2005)

    简单地说,TinyXML解析一个XML文档并由此生成一个可读可修改可保存的文档对象模型(DOM)。 XML的意思是“可扩展标记语言“(eXtensible Markup Language)。它允许你创建你自己的文档标记。在为浏览器标记文档...

    dom4j用法+例子

    详细讲解dom4j用法+例子 1.读取并解析XML文档 2. 取得Root节点 3.遍历XML树 4. XPath支持 5. 字符串与XML的转换 6. 用XSLT转换XML 7. 创建XML 8. 文件输出

    java dom4j 简单示例

    使用java编写,spring框架,读取数据库中内容使用dom4j包生成XML文档,并包括一个Transformer使用Xslt转换xml的示例

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    一个文档结构树包含根元素,根元素是最顶级的元素,(就是紧接着XML声明语句后的第一个元素)。看例子: &lt;?xml version="1.0"?&gt; &lt;filelist&gt; &lt;title&gt;... &lt;author&gt;... 上面的例子分三级结构排列成"树"状,...

    使用jaxp开发包中的SAX方式解析xml文档

    day02_xml *demo01.App1\App2\App3 使用jaxp开发包中的SAX方式解析xml文档,该方式只能读取文档 *demo4j01.App dom4j CURD XML *domo4j.ex 对dom4j 的封装例子

    android 使用Sax解析XML 源码实例

    下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...

    xml入门教程/xml入门教程

    2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 &lt; 代表 ", &gt; 代表 "&gt;" , &...

    xml增删改查for android

    android经常用sax-simple api for xml,但只能读取,于是一个用sax读,用dom增删改的例子就是这个,没在android上编译导入eclipse即可用,可以直接复制到android工程里面用

    Ajax的3个基础例子

    用Ajax写的3个比较基础的例子,设计到WebServlet,Js.DOM4J读取XML的知识!

    dom4j-jdom封装和解析例子

    * Dom4j(SAX)读取xml数据(解析) * @param params * @throws Exception */ private static List&lt;Pois&gt; getReaderXml(String flg) throws Exception{ String fromRead=Dom4jTest2.class.getClassLoader...

    AJAX开发简略含续一(PDF 包含源代码)

     E、一个初步的开发框架  7.3、简单的示例  A、数据校验  B、级联菜单  7.4、文档对象模型(DOM)  7.4.1、DOM眼中的HTML文档:树  7.4.2、HTML文档的节点  7.4.3、使用DOM操作HTML文档..  7.5、处理XML...

Global site tag (gtag.js) - Google Analytics