`

如何解析xml格式的字符串的案例(Document解析)

 
阅读更多
如何解析xml格式的字符串的案例
/*
 * 创建日期 2008-4-15
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package com.tsinghua;
import java.io.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.*;
import org.w3c.dom.*;
/**
 * @author administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class Dome2 {
    public static void main(String[] args) {
        
//      开始 解析 person.xml文件 
  //1解析器 工厂 类
  DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
  
  try {
            
      //    通过 解析器 工厂 创建 一个 解析 器 
      DocumentBuilder db=dbf.newDocumentBuilder();
      
      //告诉 改 解析器 去 解析 那个 文件 -->dom树 
     
      
    //  Document dm=db.parse("f:\\person.xml");
     
      //对字符串解析
      
      String testStr= "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
              "<!--该xml存储了人员信息-->"+
              "<company><person sex=\"male\" id=\"0001\"><name att=\"ok\"><realname>小小</realname>"+
              "<nickname>小猪</nickname></name><email>zhangsan@sohu.com</email></person></company>";
      
      //将该字符串转为InputStream流
      
      InputStream iStream=new ByteArrayInputStream(testStr.getBytes());
     Document dm=db.parse(iStream);
      
      //得到 所有 person节点 
      NodeList persons=dm.getElementsByTagName("person");
      
      
      for(int i=0;i<persons.getLength();i++){
          
          //element 和 node 是 同一 概念 
          //不同 的 是 element 提供 更多 方法 
          
          Element personElement = (Element)persons.item(i);
          
          //得到person节点的属性
          String id=personElement.getAttribute("id");
          System.out.println("id="+id);
          
          NodeList nameList=personElement.getElementsByTagName("name");
       
          Element name=(Element)nameList.item(0);
          String att=name.getAttribute("att");
          System.out.println("att="+att);
          
          //取出 name 的 值 
          
     //     System.out.println("name="+nameList.item(0).getFirstChild().getNodeValue());
          
          
          
          
      }
      
      
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        } finally {
        }
    }
}
分享到:
评论

相关推荐

    jsp操作xml源码,解析器为DOM和SAX

    在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,因其结构清晰、可扩展性强而被广泛应用。JSP(JavaServer Pages)是Java平台上的动态网页技术,允许开发者在HTML页面中嵌入...

    DOM解析XML应用实例(入门经典案例)

    5. 保存XML:修改后,使用`TransformerFactory`和`Transformer`将内存中的DOM树转换回XML字符串,通过`transform()`方法输出。 在Myeclipse中运行此实例,你将学习到如何在实际项目中应用这些步骤。具体步骤如下: ...

    Jdom解析xml案例

    修改后,需要使用`XMLOutputter`来生成新的XML字符串或写入到文件。 ```java XMLOutputter xmlOutput = new XMLOutputter(); xmlOutput.output(document, new FileWriter("output.xml")); ``` ### 示例代码 ...

    xml与实体类转换工具

    1. **解析XML**:使用`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`来解析XML字符串,生成一个`org.w3c.dom.Document`对象。 2. **创建实体类的Java类型信息**:JAXB需要知道实体类的结构,通过`@...

    js解析xml案例用层布局

    要读取Cookie,可以使用`document.cookie`字符串的解析函数。 4. **跨浏览器兼容性**:在本案例中,考虑到IE和Firefox,开发者需要处理两者之间的差异。例如,对于XML解析,IE使用`ActiveXObject("Microsoft.XML...

    js解析xml实现二级,三级联动简单成功实例源代码及相关文档

    在JavaScript中,可以使用`DOMParser`对象来解析XML字符串,将其转换为DOM(Document Object Model)结构,然后通过遍历DOM节点获取所需的数据。例如: ```javascript let parser = new DOMParser(); let xmlDoc = ...

    XML.rar_XML phone_XML 解析

    3. 描述资源:例如Android应用中的布局文件、字符串资源等,都采用XML格式,方便开发者管理和组织。 三、XML解析技术 在手机中解析XML主要有两种方式: 1. DOM解析:Document Object Model,它将整个XML文件加载到...

    JDOM创建和解析XML

    // 输出XML字符串 System.out.println(new XMLOutputter().outputString(doc)); } } ``` 这个例子创建了一个`&lt;books&gt;`元素,其中包含一个`&lt;book&gt;`子元素,带有`id`属性和文本内容。 ### 3. 解析XML文档 解析...

    PB10XML导入导出接口案例(源码)

    2. 保存XML:创建并填充了XML树后,可以使用XMLDOM的`SaveXML()`方法将XML树保存到文件,或者`SaveXMLToString()`方法将其转换为字符串进行处理。 三、实例步骤 1. 创建PB应用程序:启动PowerBuilder 10,新建一个...

    使用jQuery读取xml和json的案例代码

    console.log('Error loading XML document'); } }); ``` 上述代码首先发送一个GET请求到指定的XML文件,然后在成功回调函数中解析XML文档。`$(xml).find('item')`查找所有名为`item`的元素,并对每个元素提取`...

    XML解析错误:格式不正确

    - XmlDocument类提供了Load方法加载XML文件,Parse方法可以解析XML字符串,而Validate方法可以验证XML文档是否符合XSD。 通过理解这些基本概念并熟练应用,可以有效地识别和解决XML解析错误。对于具体案例,如"XML...

    SAX解析器写的简单的天气预报

    SAX解析器是XML解析的一种事件驱动方法,它不会像DOM(Document Object Model)解析器那样将整个XML文档加载到内存中,而是逐个处理文档中的元素。这种特性使得SAX解析器在处理大型XML文件时具有较高的性能优势,...

    Android代码-ReadXmlByPull使用Pull解析Xml文件.zip

    2. 设置输入源:通过`setInput()`方法设置XML数据的输入源,可以是文件、流或字符串。 3. 循环处理:通过不断调用`next()`方法,直到`END_DOCUMENT`状态,每次调用都会返回当前XML事件的类型,如`START_TAG`、`END_...

    PBdom_XML.rar_PBDOM_PowerBuilder_pbdom解析_powerbuilder xml_xml

    这些方法会将DOM树转换回XML字符串并写入文件。 5. **异常处理**:在处理XML时,错误和异常是常见的。案例可能包含适当的错误处理代码,如`Try...Catch...Finally`块,确保在出现错误时程序能正常运行。 6. **性能...

    C#-XML读写案例 c#经典案例.docx

    在C#编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有结构化、易于理解和解析的特点。本案例展示了如何使用C#进行XML文件的读写操作,特别是通过`XmlTextReader`类来逐节点解析XML文档,...

    dom4j解析案例

    // xmlContent是XML字符串 // 获取所有item元素并存入List List&lt;Element&gt; itemList = document.selectNodes("/root/item"); Map, Map, String&gt;&gt; itemDetails = new HashMap(); for (Element item : itemList)...

    Android ReadXmlByPull 使用Pull解析Xml文件-IT计算机-毕业设计.zip

    2. **设置输入源**: 接下来,我们需要将XML数据源(如文件、流或字符串)与解析器关联。例如,如果XML文件在 assets 目录下,可以使用`AssetManager`来获取输入流。 ```java AssetManager assetManager = context....

    php操作xml实例代码

    例如,`new SimpleXMLElement($xml_string)`可以解析XML字符串,`-&gt;addChild()`用于添加子元素,`-&gt;attributes()`获取元素的属性。 4. **XPath**: PHP的DOMDocument类支持XPath查询语言,这使得我们能更精确地定位...

    XML_xmllabview范例_

    1. **XML解析**:在LabVIEW中,你可以使用“解析XML”函数来将XML字符串或文件转换为可操作的数据结构。这个过程涉及到识别XML文档的元素、属性、文本节点等,并将它们转换为LabVIEW的簇或者数组。 2. **XML创建**...

    XMLBean的例子

    - 转换和序列化:可以将XMLBean对象转换为XML字符串,或者将XML字符串反序列化为Java对象。 - 验证:XMLBean可以验证XML文档是否符合其对应的XML Schema。 5. 性能和效率: - XMLBean虽然提供了丰富的功能,但...

Global site tag (gtag.js) - Google Analytics