- 浏览: 175054 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (186)
- [网站分类]4.其他技术区 (93)
- [网站分类]6.转载区(Java技术文章转载, 请注明原文出处) (4)
- [网站分类]3.非技术区 (7)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (28)
- HTML&CSS (0)
- 感悟生活 (4)
- c#(.net) (1)
- [网站分类]2.Java新手区 (32)
- [网站分类]5.提问区(Java方面的技术提问) (1)
- java (6)
- web前端 (7)
- php (0)
- C++ (1)
- python (0)
- 互联网应用 (0)
最新评论
-
lliiqiang:
请求单线程资源只能等待结果.
Applet 与JS通信 -
feng2qin:
期待你的精彩回到。QQ:864479410
Applet 与JS通信 -
feng2qin:
我想问一句;哥们儿,applet程序中调用js,你真的成功了嘛 ...
Applet 与JS通信 -
lyaixsp:
...
ExtJS 入门学习之 window与panel篇 -
longzijian:
不知道 java-he 现在找到数组的这种特性 的原因在那里
和网友关于javascript数组的讨论
解析XML字符串与xml文件
对两种情况,这个文件不需要修改:
这个文件中注释 与注释之间的是对不同情况的对比:
测试程序:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 import org.xml.sax.Attributes;
2 import org.xml.sax.helpers.DefaultHandler;
3 import org.xml.sax.SAXException;
4 import java.util.Properties;
5
6 public class ConfigParser extends DefaultHandler
7 {
8 ////定义一个Properties 用来存放 dbhost dbuser dbpassword的值
9 private Properties props;
10
11 private String currentSet;
12 private String currentName;
13 private StringBuffer currentValue = new StringBuffer();
14 //构建器初始化props
15 public ConfigParser()
16 {
17 this.props = new Properties();
18 }
19 public Properties getProps()
20 {
21 return this.props;
22 }
23
24
25 //定义开始解析元素的方法. 这里是将<xxx>中的名称xxx提取出来.
26 public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
27 {
28 currentValue.delete(0, currentValue.length());
29 this.currentName =qName;
30 }
31 //这里是将<xxx></xxx>之间的值加入到currentValue
32 public void characters(char[] ch, int start, int length) throws SAXException
33 {
34 currentValue.append(ch, start, length);
35 }
36 //在遇到</xxx>结束后,将之前的名称和值一一对应保存在props中
37 public void endElement(String uri, String localName, String qName) throws SAXException
38 {
39 props.put(qName.toLowerCase(), currentValue.toString().trim());
40 //System.out.println(qName.toLowerCase() + " " + currentValue.toString().trim());
41 }
42 }
43
2 import org.xml.sax.helpers.DefaultHandler;
3 import org.xml.sax.SAXException;
4 import java.util.Properties;
5
6 public class ConfigParser extends DefaultHandler
7 {
8 ////定义一个Properties 用来存放 dbhost dbuser dbpassword的值
9 private Properties props;
10
11 private String currentSet;
12 private String currentName;
13 private StringBuffer currentValue = new StringBuffer();
14 //构建器初始化props
15 public ConfigParser()
16 {
17 this.props = new Properties();
18 }
19 public Properties getProps()
20 {
21 return this.props;
22 }
23
24
25 //定义开始解析元素的方法. 这里是将<xxx>中的名称xxx提取出来.
26 public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
27 {
28 currentValue.delete(0, currentValue.length());
29 this.currentName =qName;
30 }
31 //这里是将<xxx></xxx>之间的值加入到currentValue
32 public void characters(char[] ch, int start, int length) throws SAXException
33 {
34 currentValue.append(ch, start, length);
35 }
36 //在遇到</xxx>结束后,将之前的名称和值一一对应保存在props中
37 public void endElement(String uri, String localName, String qName) throws SAXException
38 {
39 props.put(qName.toLowerCase(), currentValue.toString().trim());
40 //System.out.println(qName.toLowerCase() + " " + currentValue.toString().trim());
41 }
42 }
43
这个文件中注释 与注释之间的是对不同情况的对比:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 import java.net.URL;
2 import java.util.Properties;
3 import javax.xml.parsers.SAXParser;
4 import javax.xml.parsers.SAXParserFactory;
5
6 public class ParseXML
7 {
8 //定义一个Properties 用来存放标签值
9 private Properties props;
10 public Properties getProps()
11 {
12 return this.props;
13 }
14 public void parse(String filename) throws Exception
15 {
16 //将解析器对象化
17 try
18 {
19 ConfigParser handler = new ConfigParser();
20 //获取SAX工厂对象
21 SAXParserFactory factory = SAXParserFactory.newInstance();
22 factory.setNamespaceAware(false);
23 factory.setValidating(false);
24 //获取SAX解析
25 SAXParser parser = factory.newSAXParser();
26
27 /////////////////////////////////////////////////////////////////////////////
28 //对字符串解析:
29 // InputSource is = new InputSource ();
30 // StringReader xmlStr = new StringReader (filename);
31 // is.setCharacterStream (xmlStr);
32 // parser.parse (is,handler);
33 ////////////////////////////////////////////////////////////////////////////
34
35 ////////////////////////////////////////////////////////////////////////////
36 // 对文件解析:
37 URL confURL = getClass().getResource(filename);
38 if(confURL == null) System.out.println("error");
39
40 //将解析器和解析对象xml联系起来,开始解析
41 parser.parse(confURL.toString(), handler);
42 /////////////////////////////////////////////////////////////////////////
43 props = handler.getProps();
44 }
45 catch(Exception e)
46 {
47 System.out.println (e.toString ());
48 }
49 }
50 }
51
52
2 import java.util.Properties;
3 import javax.xml.parsers.SAXParser;
4 import javax.xml.parsers.SAXParserFactory;
5
6 public class ParseXML
7 {
8 //定义一个Properties 用来存放标签值
9 private Properties props;
10 public Properties getProps()
11 {
12 return this.props;
13 }
14 public void parse(String filename) throws Exception
15 {
16 //将解析器对象化
17 try
18 {
19 ConfigParser handler = new ConfigParser();
20 //获取SAX工厂对象
21 SAXParserFactory factory = SAXParserFactory.newInstance();
22 factory.setNamespaceAware(false);
23 factory.setValidating(false);
24 //获取SAX解析
25 SAXParser parser = factory.newSAXParser();
26
27 /////////////////////////////////////////////////////////////////////////////
28 //对字符串解析:
29 // InputSource is = new InputSource ();
30 // StringReader xmlStr = new StringReader (filename);
31 // is.setCharacterStream (xmlStr);
32 // parser.parse (is,handler);
33 ////////////////////////////////////////////////////////////////////////////
34
35 ////////////////////////////////////////////////////////////////////////////
36 // 对文件解析:
37 URL confURL = getClass().getResource(filename);
38 if(confURL == null) System.out.println("error");
39
40 //将解析器和解析对象xml联系起来,开始解析
41 parser.parse(confURL.toString(), handler);
42 /////////////////////////////////////////////////////////////////////////
43 props = handler.getProps();
44 }
45 catch(Exception e)
46 {
47 System.out.println (e.toString ());
48 }
49 }
50 }
51
52
测试程序:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 import java.util.*;
2
3 public class Main
4 {
5 static ParseXML px = new ParseXML ();
6 public static void main (String[] args)
7 {
8 //load_properties (); //解析xml文件
9 load_properStr(); //解析字符串用这个方法
10 String issuccessful = (String) getObject ("result");
11 String objRequestID = (String) getObject ("msg");
12 System.out.println ("issuccessful ::"+issuccessful);
13 System.out.println ("objRequestID ::"+objRequestID);
14
15 }
16
17 public static void load_properStr ()
18 {
19
20 String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
21 "<response>"+
22 "<result>0</result>"+
23 "<msg>47F42A2D578</msg>"+
24 "</response>";
25 try
26 {
27 px.parse (str);
28 }
29 catch (Exception ex)
30 {
31 ex.printStackTrace ();
32 }
33
34 }
35 public static void load_properties ()
36 {
37 try
38 {
39 px.parse ("/properties.xml");
40 }
41 catch (Exception ex)
42 {
43 ex.printStackTrace ();
44 }
45 }
46 public static Object getObject (String keyname)
47 {
48 return px.getProps ().getProperty (keyname);
49 }
50 }
51
2
3 public class Main
4 {
5 static ParseXML px = new ParseXML ();
6 public static void main (String[] args)
7 {
8 //load_properties (); //解析xml文件
9 load_properStr(); //解析字符串用这个方法
10 String issuccessful = (String) getObject ("result");
11 String objRequestID = (String) getObject ("msg");
12 System.out.println ("issuccessful ::"+issuccessful);
13 System.out.println ("objRequestID ::"+objRequestID);
14
15 }
16
17 public static void load_properStr ()
18 {
19
20 String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
21 "<response>"+
22 "<result>0</result>"+
23 "<msg>47F42A2D578</msg>"+
24 "</response>";
25 try
26 {
27 px.parse (str);
28 }
29 catch (Exception ex)
30 {
31 ex.printStackTrace ();
32 }
33
34 }
35 public static void load_properties ()
36 {
37 try
38 {
39 px.parse ("/properties.xml");
40 }
41 catch (Exception ex)
42 {
43 ex.printStackTrace ();
44 }
45 }
46 public static Object getObject (String keyname)
47 {
48 return px.getProps ().getProperty (keyname);
49 }
50 }
51
发表评论
-
详细总结LOG4J的使用
2007-02-06 16:31 7121 import java.util.*; 2 impor ... -
数字签名
2007-02-06 16:39 773使用applet经常涉及到java的砂箱问题,由于java的安 ... -
常见排序算法
2007-02-06 16:48 839<!--<br><br> ... -
测试连接数据源
2007-02-06 17:07 8091 ////////////////////////// ... -
解析XML
2007-02-06 17:12 6511 2 package com.parsexml ; ... -
BASE64编码
2007-02-06 17:16 7631 ////////////////////////// ... -
MD5加密
2007-02-07 09:49 934<!--<br><br>Cod ... -
省市地区三级菜单
2007-02-07 09:58 1219级联菜单:(1.js文件)<!--<br>& ... -
总结WebService的使用
2007-02-08 09:18 766一、安装jsp程序员应该不会装错。首先下载axis,解压缩。将 ... -
Applet 与JS通信
2007-02-08 16:09 4875Applet 与JS通信:一、页面嵌入applet:<a ... -
正则表达式使用详解
2007-02-14 10:54 770如果我们问那些UNIX系 ... -
xml学习总结之一
2007-02-15 13:16 7391 . XML 与 DTD —— XML 入门知识 1 ... -
xml学习总结之二
2007-02-26 10:49 6632. XML 名称空间 XML 命 ... -
JAVA 写的一截屏小工具
2007-03-01 09:48 712该截图工具的原代码参照了网上一文:(http://www.ch ... -
记事本程序
2007-03-08 12:09 696写了一个记事本程序,程序运行效果如下。 ... -
servlet学习笔记之一
2007-03-09 10:48 614servlet 学习笔记 自序 昨天心情有些失落。公司从去 ... -
servlet学习笔记之二
2007-03-26 19:16 564servlet 学习笔记之二 — ... -
servlet学习笔记之三
2007-03-26 19:25 587servlet 学习笔记之三 ——关于 web 应用程序的部 ... -
JFreeChart 入门指南
2007-04-18 01:47 796JFreeChart也许对大家来说很陌生,JFreeCh ... -
创意柱状图
2007-04-20 23:39 697本来页面上是用jfreechart 绘制的数据分析 ...
相关推荐
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法,并有注解 ...
标题中的“PB解析XML字符串 把XML 变为数据窗口”指的是使用PowerBuilder(PB)这一编程工具,处理XML格式的数据,并将其转换成数据窗口对象的过程。数据窗口是PowerBuilder中的一个核心组件,用于显示、编辑和管理...
在`RealPlay`中,使用`loadXML`方法解析XML字符串,而不是`load`方法,因为`loadXML`用于解析内存中的XML字符串。 总结来说,C++通过MSXML库提供了解析XML文档和XML字符串的功能。这使得在C++和不支持指针的语言...
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
dom4j解析xml字符串实例
在Java中,我们可以使用DOM4J来解析XML字符串,以下是一个简单的步骤: 1. **导入DOM4J库**:确保项目中已经引入了DOM4J的依赖,如果没有,可以添加对应的Maven或Gradle依赖。 2. **读取XML字符串**:从文件、网络...
使用JAXB解析XML时,我们首先需要创建一个Java类模型,这个模型反映了XML文档的结构。每个XML元素对应一个Java类,类的属性对应元素的属性或子元素。例如,如果XML中有以下结构: ```xml <text>Some text here ...
这些文件通常包含了处理XML数据的相关工具方法,可能包括读取XML文件、解析XML字符串、格式化XML以及生成新的XML文件等操作。 `XMLFileUtil.java`可能包含了一些与XML文件I/O相关的功能,比如读取XML文件到字符串,...
接着,我们需要创建一个`XMLReader`对象并设置我们的处理器,然后使用`parse`方法解析XML字符串: ```java InputSource inputSource = new InputSource(new StringReader(xmlString)); XMLReader xmlReader = ...
例如,`DOMParser`对象可用于解析XML字符串: ```javascript var parser = new DOMParser(); var xmlDoc = parser.parseFromString(xmlString, "text/xml"); ``` - **ActiveXObject(IE专属)**:在旧版的...
资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版 内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...
- **解析XML字符串**:使用`DocumentHelper.parseText`方法直接解析XML字符串,返回一个`Document`对象。 接下来的操作与使用`SAXReader`的方式类似,都是通过`Document`对象获取根元素、迭代子元素并提取所需的...
总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...
// 解析XML字符串 Document doc = builder.build(new StringReader(xml)); Element root = doc.getRootElement(); // 输出根元素 System.out.println("根元素: " + root.getName()); } } ``` 这段代码中,...
解析XML文件的过程与解析XML字符串相似,只是需要读取文件而不是字符串。我们可以使用`FileReader`或`FileInputStream`替换`StringReader`。生成XML文件则涉及`OutputStream`或`Writer`,以将XML内容写入文件。以下...
读取xml文件,解析字符串,详细的代码操作
本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...
1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document Object Model)、SAX(Simple API for XML)或者JAXB(Java Architecture for XML Binding)。在.NET环境中,有...
NULL 博文链接:https://songlitao.iteye.com/blog/2257789