`
阅读更多
  1 
  2 package com.parsexml ;
  3 /*测试用的test.xml 请另存
  4  <?xml version="1.0" encoding="gb2312"?>
  5 <books>
  6     <name>test</name>
  7     <book>
  8         <name>rjzjh</name>
  9         <price>jjjjjj</price>
 10     </book>
 11     <test>
 12         <name>hcm</name>
 13         <feng>sadf</feng>
 14     </test>
 15 </books>
 16  */
 17 import javax.swing.*;
 18 import java.io.* ;
 19 import java.net.*;
 20 import javax.xml.parsers.* ;
 21 import org.w3c.dom.* ;
 22 import org.xml.sax.SAXException ;
 23 
 24 public class NewParsexml
 25 {
 26     public static String infotext ;
 27     public NewParsexml ()
 28     {
 29     }
 30     public URL geturl(String str)
 31     {
 32         return (getClass().getResource (str));
 33     }
 34     public  static String parse (String text)
 35     {
 36         // 得到DOM解析器的工厂实例
 37         DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance () ;
 38         try
 39         {
 40             DocumentBuilder dombuilder = domfac.newDocumentBuilder () ;
 41            // InputStream is = new FileInputStream ("src/com/parsexml/test.xml");
 42             InputStream is = NewParsexml.class.getResourceAsStream("test.xml"); 
 43          //   InputStream is = new FileInputStream ("com/parsexml/test.xml");
 44             Document doc = dombuilder.parse (is) ;
 45             Element root = doc.getDocumentElement () ;
 46             NodeList books = root.getChildNodes () ;
 47             if (books != null)
 48             {
 49                 for (int i = 0 ; i < books.getLength () ; i ++ )
 50                 {
 51                     Node book = books.item (i) ;
 52                     if (book.getNodeName ().equals (text))
 53                     {
 54                         infotext = book.getFirstChild ().getNodeValue () ;
 55                         //System.out.println(infotext);
 56                         return infotext;
 57                     }
 58                     if (book.getNodeType () == Node.ELEMENT_NODE)
 59                     {
 60                         for (Node node = book.getFirstChild () ; node != null ; node = node.getNextSibling ())
 61                         {
 62                             if (node.getNodeType () == Node.ELEMENT_NODE)
 63                             {
 64                                 if (node.getNodeName ().equals (text))
 65                                 {
 66                                     infotext = node.getFirstChild ().getNodeValue () ;
 67 //System.out.println (infotext) ;
 68                                     return infotext ;
 69                                 }
 70                             }
 71                         }
 72                     }
 73                 }
 74             }
 75         }
 76         catch (ParserConfigurationException e)
 77         {
 78             e.printStackTrace () ;
 79         }
 80         catch (FileNotFoundException e)
 81         {
 82             e.printStackTrace () ;
 83         }
 84         catch (SAXException e)
 85         {
 86             e.printStackTrace () ;
 87         }
 88         catch (IOException e)
 89         {
 90             e.printStackTrace () ;
 91         }
 92         return infotext ;
 93     }
 94 //    public static void main(String args[])
 95 //    {
 96 //        //为了打包 测试路径
 97 //        JFrame frame = new JFrame ("test");
 98 //        frame.setLayout (null);
 99 //        frame.setSize (200,300);
100 //        JLabel label = new JLabel(parse("name"));
101 //        label.setBounds (0,0,50,100);
102 //        frame.add (label);
103 //        frame.setVisible (true);
104 //        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
105 //        System.out.println (parse("name"));
106 //    }
107 }
108 


分享到:
评论

相关推荐

    PB 解析XML (代码案例)

    标题中的“PB 解析XML”指的是使用PowerBuilder(简称PB)这一编程工具处理XML数据的过程。PowerBuilder是一款广泛用于开发企业级应用的可视化编程环境,它支持多种数据格式,包括XML。XML(eXtensible Markup ...

    C++解析xml文件

    本文将深入探讨如何使用C++来解析XML文件,主要围绕“C++实现对xml文件的解析”这一主题展开。 XML文件通常包含一系列元素,每个元素都有开始标签、结束标签和可能的属性。C++中解析XML文件的方法多种多样,这里...

    解析xml的jar包

    解析XML是将XML文档转换为程序可以理解的数据结构的关键步骤。本文将深入探讨XML解析的基本概念、常用方法以及相关的Java库——JDOM。 XML文档由一系列元素构成,每个元素都包含标签、属性和内容。解析XML的过程...

    delphi解析xml文件实例

    本实例将详细探讨如何在Delphi 7中解析XML文件。 首先,我们需要引入必要的单元,如`Classes`和`XMLDoc`,它们包含了处理XML的基本类。`Classes`单元提供了基础的TStringList等类型,而`XMLDoc`单元则包含了...

    C++解析xml文档或者xml字符串方法

    在C++中,解析XML文档或XML字符串是常见的任务,特别是在需要与JavaScript或其他不支持指针的语言交互时。本文将详细介绍如何在Visual Studio 2010环境下利用Microsoft的MSXML库来处理XML数据。 首先,让我们看看...

    PB 解析xml格式串

    在“PB解析xml格式串”的主题中,我们主要关注如何将XML格式的数据转换为Protocol Buffers的二进制格式,以便于高效地存储和传输。以下是一些相关的知识点: 1. **Protocol Buffers介绍**:PB是一种高效的序列化...

    STM32解析XML

    在本文中,我们将深入探讨如何在STM32F107上使用minixml库解析XML(可扩展标记语言)文档,这对于那些初次尝试在嵌入式环境中处理XML数据的开发者来说,是非常有价值的。 XML是一种通用的数据交换格式,它允许结构...

    STM32解析XML完整工程.zip

    在本项目"STM32解析XML完整工程.zip"中,重点是实现STM32利用软件资源处理XML(eXtensible Markup Language)文件。XML是一种用于标记数据的标准格式,常用于存储和传输结构化数据,例如配置文件、设备通信协议等。 ...

    domino通过lotusscript解析xml

    在标题“domino通过lotusscript解析xml”中,我们关注的重点是使用Lotusscript来解析XML文件。解析XML意味着读取其结构并从中提取所需的信息。在Lotusscript中,我们可以使用内置的XML处理对象,如`XMLDocument`,来...

    C#解析XML文件并用WinForm显示

    在本文中,我们将深入探讨如何使用C#编程语言解析XML文件,并将其内容在Windows Forms(WinForm)应用程序中展示。XML(eXtensible Markup Language)是一种数据存储和交换的标准格式,而C#是Microsoft .NET框架下...

    使用JDOM解析XML文件

    本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...

    使用javascript解析xml文件或xml格式字符串中文WORD版

    资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版   内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...

    PB解析XML字符串 把XML 变为数据窗口

    标题中的“PB解析XML字符串 把XML 变为数据窗口”指的是使用PowerBuilder(PB)这一编程工具,处理XML格式的数据,并将其转换成数据窗口对象的过程。数据窗口是PowerBuilder中的一个核心组件,用于显示、编辑和管理...

    JAVA JAXB 解析XML嵌套子节点为字符串

    使用JAXB解析XML时,我们首先需要创建一个Java类模型,这个模型反映了XML文档的结构。每个XML元素对应一个Java类,类的属性对应元素的属性或子元素。例如,如果XML中有以下结构: ```xml &lt;text&gt;Some text here ...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    android下解析xml文件的demo

    本教程将详细介绍如何在Android环境下解析XML文件,以"ReadXMLDemo"为例,展示具体步骤和关键知识点。 首先,XML(eXtensible Markup Language)是一种自定义标记语言,它的结构清晰,易于读写,适合于数据交换和...

    PB解析xml指定路径的节点内容

    这个例子展示了如何在PowerBuilder 12.5中解析XML文件,特别是获取指定路径下的节点内容和属性值。XML(Extensible Markup Language)是一种用于存储和传输数据的标准化格式,广泛应用于数据交换、配置文件等场景。 ...

    解析XML特殊字符方法

    有两种主要方法来解析XML中的特殊字符: **方法一:使用实体引用** 实体引用是XML中最常见的处理特殊字符的方式。当你需要在XML文档中插入特殊字符时,可以使用对应的实体引用。比如,如果你想在文本中包含一个...

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    STM32使用ezxml解析XML文件

    4. **解析XML**:使用ezxml库的核心函数`ezxml_parse()`解析XML文件。这个函数会返回一个ezxml_t类型的根节点,代表整个XML文档。然后,可以使用`child()`, `tag()`, `attr()`, `text()`等方法来遍历和访问XML树。 ...

Global site tag (gtag.js) - Google Analytics