- 浏览: 391000 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (139)
- java (39)
- linux (9)
- hibernate (2)
- Spring (10)
- Struts2 (1)
- Ext (38)
- Ext + Java (5)
- Oracle (5)
- JavaScript (15)
- 开发工具 (3)
- ajax (2)
- WebSerivice+Spring (2)
- WebService+CXF (2)
- 服务器 (4)
- MQ (1)
- Apache (3)
- axis (3)
- myeclipse,maven (2)
- WebService (4)
- web (11)
- httpinvoke (1)
- 多线程 (3)
- 同步 (1)
- Servlet (2)
- css (2)
- div (2)
- html (1)
- file (2)
- 应用软件 (1)
- myEclipse10 (1)
- mysql (2)
- Extjs4 (2)
- JavaScript css (1)
- mongodb (2)
- socket (6)
- 流媒体 (5)
- 语音技术 (5)
- freeswitch (1)
最新评论
-
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
Apache Mina 学习 -
stduPanda:
引用引用[自行车在现场咨询quote]引用引用引用引用引用引用 ...
Errors running builder 'DeploymentBuilder' on project '工程名' -
鱼翔空:
maven3 导入报Plugin execution not ...
CXF自动生成wsdl与xsd文件 -
哈哈哥_Supper:
closeAction:'hide',
Extjs4 tabPanel关闭后打开 cannot read property addcls of null -
哈哈哥_Supper:
var tab1 = tabPanel.add(
...
Extjs4 tabPanel关闭后打开 cannot read property addcls of null
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import com.incesoft.xmas.commons.StringUtils;
public class MyXml extends DefaultHandler {
java.util.Stack tags = new java.util.Stack();
static Set<String> set = new HashSet<String>();
StringBuffer str = new StringBuffer();
public MyXml() {
super();
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String tag = (String) tags.peek();
if (tag.equals("category")) {
str.append(new String(ch, start, length));
}
}
@Override
public void startElement(String uri, String localName, String name, Attributes attributes)
throws SAXException {
tags.push(name);
}
@Override
public void endElement(String uri, String localName, String name) throws SAXException {
if (name.equals("category")) {
String strs = str.toString().trim();
if (StringUtils.isNotBlank(strs)) {
if (set.add(str.toString().trim())) {
writeTxtFile("D:\\1.txt", str.toString().trim());
System.out.println("|" + str.toString().trim() + "|");
}
}
str.setLength(0);
}
}
public static void main(String[] args) {
File file = new File("D:\\1.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
SAXParserFactory sf = SAXParserFactory.newInstance();
SAXParser sp = sf.newSAXParser();
MyXml reader = new MyXml();
sp.parse(new InputSource("D://00.xml"), reader);
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writeTxtFile(String filename, String info) {
// 先读取原有文件内容,然后进行写入操作
String message = info + "\r\n";
BufferedWriter fw = null;
try {
// fw = new FileWriter(fileName);
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(filename, true), "GBK");
// out.append(message);
fw = new BufferedWriter(out);
fw.append(message);
fw.flush();
// fw.append(message);
// fw.flush();
} catch (IOException e1) {
e1.printStackTrace();
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
}
发表评论
-
linux下查找java进程占用CPU过高原因
2018-04-03 12:35 7461. 查找进程 top查看进程占用资源情况 ... -
Apache Mina TCP/UDP功能使用说明
2017-03-14 14:18 1678Apache Mina ... -
WebService CXF客户端调用样例
2013-01-04 14:48 2029如果服务端提供jar包,客户端直接引用jar ... -
ExtJS layout的9种样式风格总结
2012-12-18 10:29 1081文章转载自:http://virgoooos.iteye.co ... -
Zip文件解析(包含中文目录)
2012-12-11 13:22 2373在解析zip文件时,由于默认版本不支持中文目录,导致解析时遇到 ... -
正则表达式详解
2012-10-09 15:13 925转载自:http://edu.yesky.com/ ... -
map 排序
2012-09-28 10:44 1151用于map的值排序的方法,修改SortedSet 的方法即 ... -
java读写txt文件
2012-09-19 18:49 29970import java.io.BufferedReader; ... -
UTF-8 的bom格式处理
2012-09-14 11:54 1636一般通过httpcient请求的内容,有可能返回utf- ... -
java获取当前工程目录
2012-08-23 17:41 1647转载自:http://blog.csdn.net/yan ... -
div+css实现圆角聊天框
2012-08-14 15:50 4774需要做个聊天样式的对话框,找了半天,终于找到一个比较好的样式, ... -
linux 启动oracle
2012-07-24 10:58 1020转载:http://www.cnitb ... -
java写excel03文件
2012-07-18 00:06 954用java jxl写入excel03文件,下面给出一个简 ... -
JSP页面查询显示常用模式
2012-07-16 21:09 1190全文转载自:http://pharaohsprinc ... -
Servlet调用Spring bean
2012-07-13 16:30 1684servlet中直接调用spring时会出现Nullpo ... -
Json
2012-07-11 11:25 1058原文转载自:http://www.cnblogs.com ... -
java常用英语词汇翻译
2012-06-04 14:07 2403<java常用英语词汇>abstract 抽象的 ... -
JAVA垃圾回收分析&& java虚拟机垃圾回收机制
2012-06-04 11:11 1218JAVA垃圾回收分析&&a ... -
原子变量(AtomicLong, AtomicInteger, AtomicReference)
2012-05-30 11:49 1722原文转载:http://meng ... -
java读写txt文件
2012-05-20 19:55 52本文转载自:http://www.blogjava.ne ...
相关推荐
QT使用SAX读取xml高效-快速.rar SAX(Simple API for XML) 如果你只想读取并显示整个XML文档,那么SAX是很好的选择,因为它提供了比DOM更简单的接口,并且它不需要将整个XML文档一次性读入内存,这样便可以用来读取...
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
此示例介绍了xml的三种解析方式,包括SAX解析,dom解析,pull解析 并介绍了读取文件的方法,怎么写入xml文件等内容,希望对您有所帮助,谢谢。
android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析
本文实例为大家分享了利用Document实现xml读取和写入操作,供大家参考,具体内容如下 首先先来介绍一下什么xml?xml是可扩展标记语言,他可以用来标记数据,定义数据类型。是一种允许用户对自己标记语言进行定义的源...
用JAVA实现的读取,写入XML的程序,实现了SAX和DOM两种方式。
XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,来说明Android SDK提供的读写XML的package。 首先介绍下Android SDK与Java SDK在读写XML文件方面,数据包之间的...
2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 < 代表 ", > 代表 ">" , &...
一个轻量级的xml解析器,完全原创,没有dom,也没有sax,只有15K的jar包。应用方便,简单。支持读取xml文档,修改xml文档,写入xml文档。
\r\n 4.2.2 使用XmlReader类读取XML数据的步骤\r\n 4.3 写入XML数据 \r\n 4.4 小结 \r\n第5章 XML数据验证\r\n 5.1 XML验证 \r\n 5.1.1 .NET Framework 2.0支持的验证类型 \r\n 5.1.2 使用XSD模式验证XML数据 ...
通过将所有文档默认情况下视为不信任来确保默认情况下的安全在基础解析器之上成为合理的薄层,并且不要尝试修复解析器之间的行为差异功能概述用于XML和HTML4的DOM解析器用于XML和HTML4的SAX解析器推送XML和...
第二种是事件驱动模式,拿Excel2007来说,其内容采用XML的格式来存储,所以处理excel就是解析XML,而目前使用事件驱动模式解析XML的API是SAX(Simple API for XML),这种模型在读取XML文档时,并没有将整个文档读入...
XmlReader提供了对于XML数据的快速,非缓存,只进模式的读取器,XmlWriter表示一个编写器,该编写器提供快速,非缓存,只进的方式来生成包含XML数据的流文件。 XmlReader与SAX读取器类似,不过前者是提取模式(只进...
Mini-XML是一个小型XML解析库,您可以使用它来读取应用程序中的XML数据文件或字符串,而无需使用大型非标准库。 Mini-XML只需要一个“ make”程序和一个与ANSI C兼容的编译器-GCC可以像大多数供应商的ANSI C编译器...
1、org.JDOM这个包里的类是你J解析xml文件后所要用到的所有数据类型。 Attribute CDATA Coment DocType Document Element EntityRef Namespace ProscessingInstruction Text 2、org.JDOM.transform在涉及...
2.6.1 使用SAX解析器 2.6.2 使用StAX解析器 2.7 生成XML文档 2.7.1 使用StAX写出XML文档 2.8 XSL转换 第三章 网络 3.1 连接到服务器 3.1.1 套接字超时 3.1.2 因特网地址 3.2 实现服务器 3.2.1 为多个客户端服务 ...
javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供...
12.10 用SAX合并连续的文本事件 458 12.11 使用MSHTML来解析XML或HTML 461 第13章 网络编程 462 引言 462 13.1 通过Socket数据报传输消息 464 13.2 从Web抓取文档 466 13.3 过滤FTP站点列表 467 13.4 通过...
javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供...