`
jingliankui123
  • 浏览: 104741 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

dom和xas解析xml

    博客分类:
  • java
阅读更多

xas 解析
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;  
import java.io.InputStream;  
import javax.xml.parsers.ParserConfigurationException;  
import javax.xml.parsers.SAXParser;  
import javax.xml.parsers.SAXParserFactory;  
import org.xml.sax.Attributes;  
import org.xml.sax.SAXException;  
import org.xml.sax.helpers.DefaultHandler;  
/**  *   * @author hongliang.dinghl  * SAX文档解析  */ 
public class SaxDemo implements XmlDocument

   public void createXml(String fileName)
              {  
                  System.out.println("<<"+filename+">>");  
              } 
   public void parserXml(String fileName)
          {  
          SAXParserFactory saxfac = SAXParserFactory.newInstance();
        try {  
               SAXParser saxparser = saxfac.newSAXParser(); 
               InputStream is = new FileInputStream(fileName);  
               saxparser.parse(is, new MySAXHandler());  
             }
             catch (ParserConfigurationException e)
             { 
                e.printStackTrace();  
             
              }
              catch (SAXException e)
              {
                e.printStackTrace();  
              }
              catch (FileNotFoundException e)
              { 
                 e.printStackTrace();  
              }
              catch (IOException e)
              {
                 e.printStackTrace();  
              } 
           }  
}  

class MySAXHandler extends DefaultHandler
{  
   boolean hasAttribute = false;  
   Attributes attributes = null;  
   public void startDocument() throws SAXException
   {  
            System.out.println("文档开始打印了");  
   }  
   public void endDocument() throws SAXException
   { 
           System.out.println("文档打印结束了");  
   } 
   public void startElement(String uri, String localName, String qName,   Attributes attributes) throws SAXException
   { 
         if (qName.equals("employees"))
          {
               return;  
          }  
         if (qName.equals("employee"))
          { 
              System.out.println(qName);  
          } 
         if (attributes.getLength() > 0)
          { 
              this.attributes = attributes; 
              this.hasAttribute = true;  
          }  
    } 
   public void endElement(String uri, String localName, String qName)   throws SAXException
   { 
       if (hasAttribute && (attributes != null))
       {  
           for (int i = 0; i < attributes.getLength(); i++)
           {
             System.out.println(attributes.getQName(0)   + attributes.getValue(0)); 
           } 
        } 
    }  
   public void characters(char[] ch, int start, int length)   throws SAXException
   {
       System.out.println(new String(ch, start, length));
   }  
}

 

dom解析

package com.alisoft.facepay.framework.bean;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
 /** * * @author hongliang.dinghl * DOM生成与解析XML文档 */
public class DomDemo implements XmlDocument {
 
  private Document document;
  private String fileName;
  public void init() {
                        try {
                              DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance();
                              DocumentBuilder builder = factory.newDocumentBuilder();
                              this.document = builder.newDocument();
                            }
                            catch (ParserConfigurationException e)
                            {
                                System.out.println(e.getMessage());
                            }
                     }
 public void createXml(String fileName) {
                      Element root = this.document.createElement("employees");
                      this.document.appendChild(root);
                      Element employee = this.document.createElement("employee");
                      Element name = this.document.createElement("name");
                      name.appendChild(this.document.createTextNode("丁宏亮"));
                      employee.appendChild(name);
                      Element sex = this.document.createElement("sex");
                      sex.appendChild(this.document.createTextNode("m"));
                      employee.appendChild(sex);
                      Element age = this.document.createElement("age");
                      age.appendChild(this.document.createTextNode("30"));
                      employee.appendChild(age); root.appendChild(employee);
                      TransformerFactory tf = TransformerFactory.newInstance();
                      try {
                            Transformer transformer = tf.newTransformer();
                            DOMSource source = new DOMSource(document);
                            transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
                            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                            PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
                            StreamResult result = new StreamResult(pw);
                            transformer.transform(source, result);
                            System.out.println("生成XML文件成功!");
                         }
                         catch (TransformerConfigurationException e)
                         {
                            System.out.println(e.getMessage());
                         }
                         catch (IllegalArgumentException e)
                         {
                            System.out.println(e.getMessage());
                         }
                          catch (FileNotFoundException e)
                         {
                           System.out.println(e.getMessage());
                         }
                          catch (TransformerException e)
                         {
                           System.out.println(e.getMessage());
                         }
                    }
 public void parserXml(String fileName)
                    {
                          try {
                                 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                                 DocumentBuilder db = dbf.newDocumentBuilder();
                                 Document document = db.parse(fileName);
                                 NodeList employees = document.getChildNodes();
                                 for (int i = 0; i < employees.getLength(); i++)
                                    {
                                       Node employee = employees.item(i);
                                       NodeList employeeInfo = employee.getChildNodes();
                                       for (int j = 0; j < employeeInfo.getLength(); j++)
                                       {
                                           Node node = employeeInfo.item(j);
                                           NodeList employeeMeta = node.getChildNodes();
                                             for (int k = 0; k < employeeMeta.getLength(); k++)
                                                {
                                                     System.out.println(employeeMeta.item(k).getNodeName() + ":" + employeeMeta.item(k).getTextContent());
                                                 }
                                       }
                                     }
                                  System.out.println("解析完毕");
                                }
                                catch (FileNotFoundException e)
                                {
                                   System.out.println(e.getMessage());
                                }
                                 catch (ParserConfigurationException e)
                                {
                                  System.out.println(e.getMessage());
                                }
                                 catch (SAXException e)
                                {
                                   System.out.println(e.getMessage());
                                }
                                 catch (IOException e)
                                {
                                  System.out.println(e.getMessage());
                                }
                     }
}

分享到:
评论

相关推荐

    Foundation XML and E4X

    综上所述,“Foundation XML and E4X”这本书将为读者提供一个全面的教程,帮助他们理解并掌握XML和E4X在AS3以及.NET环境下的使用,为网络应用开发打下坚实的基础。通过阅读提供的PDF文件,读者可以深入学习这些关键...

    Dom4j的详细介绍

    // 解析XML文件 Document document = DocumentHelper.parseText("&lt;root&gt;&lt;element attr='value'&gt;text&lt;/element&gt;&lt;/root&gt;"); // 获取根元素 Element root = document.getRootElement(); // 遍历子元素 for ...

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

    Xml.rar_vb xml_xml_xml vb_读取xml

    在VB(Visual Basic)环境中,处理XML文件通常涉及到读取、写入和解析XML文档。本实例通过VB代码展示了如何分节点读取XML数据。 首先,我们需要了解XML的基本结构。XML文档由一系列元素组成,每个元素可能包含其他...

    flash读取xml文档

    在你提供的实例中,可能包含了如何在Flash中加载和解析XML的代码。源码可能包括创建URLLoader对象,加载XML文件,监听事件,以及处理加载后的XML数据。具体实现细节可能涉及遍历XML节点,提取信息,或者将XML数据...

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

     好了,通过第三章的学习,我们已经了解了一些XML和DTD的基本术语,但是我们还不知道怎样来写这些文件,需要遵循什么样的语法,在下一章,将重点介绍有关撰写XML和DTD文档的语法。 第四章 XML语法 七.DTD的语法...

    flash_action_script_xml

    4. E4X(ECMAScript for XML):AS3中的E4X是一种内置的XML处理机制,使得XML可以直接作为ActionScript的一部分进行操作,如同处理数组和对象一样。 三、AS3 XML的应用场景 1. 数据绑定:在Flex框架中,AS3 XML常...

    用JAVA和XML构建分布式系统

    7. **XML解析库**:如DOM、SAX、StAX等,用于处理XML文档。 8. **安全机制**:包括SSL/TLS协议、身份验证、授权等,确保分布式系统中的数据安全。 通过深入学习和掌握上述技术,开发者可以有效地利用Java和XML构建...

    as3helpcn.rar

    3. XML解析:在AS3中,有多种方式解析XML,包括E4X(ECMAScript for XML)和DOM(Document Object Model)。E4X是AS3内置的XML处理机制,提供了简洁的语法来创建、操作和遍历XML结构。例如: ```actionscript var ...

    php怎么得到dom元素.docx

    DOM(Document Object Model)是一种与平台和语言无关的标准,用于表示XML和HTML文档的树形结构。下面将详细讲解如何在PHP中使用DOMDocument来获取和操作DOM元素。 首先,我们需要了解DOMDocument类的一些主要属性...

    符合标准的库,用于在 Python 中解析和序列化 HTML 文档和片段.zip

    符合标准的库,用于在 Python 中解析和序列化 HTML 文档和片段html5libhtml5lib 是一...支持另外两种树类型xml.dom.minidom和 lxml.etree。要使用其他格式,请指定树构建器的名称import html5libwith open("mydocument.

    as3.0 源码

    1. **XML解析**:AS3.0提供了两种解析XML的方法,即E4X(ECMAScript for XML)和DOM(Document Object Model)。E4X是一种内建的XML处理机制,它允许开发者使用类似JavaScript的语法来操作XML。DOM则是一种更通用的...

    php处理复杂xml数据示例

    在PHP中,处理XML数据是一项常见的任务,尤其在与服务器通信、数据交换或者解析XML文档时。XML(Extensible Markup Language)是一种结构化数据格式,它允许开发者定义自定义的标签来存储和传输数据。本篇文章将深入...

    javascript获取xml节点的最大值(实现代码)

    首先,我们需要创建一个XML DOM(文档对象模型)来解析XML文件。在IE浏览器中,我们可以使用`ActiveXObject("Microsoft.XMLDOM")`来创建XML DOM对象。这段代码如下: ```javascript var xmlDom = new ActiveXObject...

    python处理xml文件的方法小结

    **解析XML文件**:使用`minidom`分别解析RPD和CMAD的XML文件。 2. **查找匹配项**:遍历RPD中的节点,并在CMAD中查找对应的节点。 3. **写入XML文件**:根据查找结果,决定将数据写入哪个XML文件。 - **代码实现...

    as 殿堂之路

    - **内置XML支持**:通过采用E4X技术,XML成为了AS3的一种内建数据类型,这使得XML处理变得更加简单高效。 - **正则表达式支持**:AS3全面支持正则表达式,使其在字符串处理方面更加强大。 - **DOM3事件模型**:AS3...

    php 修改、增加xml结点属性的实现代码

    综上所述,通过本文档,我们可以了解到在PHP中如何操作XML文件,包括修改、增加节点属性,以及如何解析XML数据。这些技能对于开发人员来说是相当有用的,特别是在需要处理数据交换或配置文件时。

    xerces-c-src_2_8_0安装&开发文档

    通过`XercesDOMParser`类的`parse`方法可以加载并解析XML文件或字符串。例如: ```cpp XercesDOMParser* parser = new XercesDOMParser(); parser-&gt;parse("a.xml"); ``` 这里的参数可以是文件名,也可以是内存中的...

    Python根据指定文件生成XML的方法

    XML文件的基本结构包括`&lt;annotation&gt;`、`&lt;folder&gt;`、`&lt;filename&gt;`和`&lt;path&gt;`等元素,然后针对每一个切图信息,创建一个`&lt;object&gt;`元素,并填充相应的坐标和标签信息。 #### 总结 本文介绍了一种使用Python根据特定...

    html5lib-python:符合标准的库,用于在Python中解析和序列化HTML文档和片段

    html5lib是用于解析HTML的纯Python库。... 用法 简单用法遵循以下模式: ...with open ( "mydocument.html" , "rb" ) as f : ... 或者: ... 默认情况下, document将是xml.etree元素... 支持其他两种树类型: xml.dom.minidom和lx

Global site tag (gtag.js) - Google Analytics