- 浏览: 1333995 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (471)
- 原创文章 (4)
- Database (84)
- J2SE (63)
- Web (26)
- Javascript (30)
- Lucene (11)
- os (13)
- 算法 (8)
- Webservice (1)
- Open projects (18)
- Hibernate (18)
- Spring (15)
- Css (2)
- J2ee (2)
- 综合技术 (18)
- 安全管理 (13)
- PatternsInJava (27)
- NIO (5)
- Ibatis (2)
- 书籍收藏 (1)
- quartz (7)
- 并发编程 (15)
- oracle问题 (2)
- ios (60)
- coco2d-iphone (3)
- C++ (6)
- Zookeeper (2)
- golang (4)
- animation (2)
- android (1)
最新评论
-
dandingge123:
【引用】限制UITextField输入长度的方法 -
qja:
...
对List顺序,逆序,随机排列实例代码 -
安静听歌:
现在在搞这个,,,,,哎~头都大了,,,又freemarker ...
通用大型网站页面静态化解决方案(一) -
springdata-jpa:
java quartz定时任务demo教程源代码下载,地址:h ...
Quartz 配置参考 -
马清天:
[b][/b][list][*]引用[u][/u][/list ...
通用大型网站页面静态化解决方案(一)
写道
import java.io.File;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.Transformer;
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.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
@SuppressWarnings("unchecked")
public class Test {
public static void main(String agr[]) {
try {
SAXParserFactory saxFactory = SAXParserFactory.newInstance();
SAXParser saxParser = saxFactory.newSAXParser();
MyHandler handler = new MyHandler();
saxParser.parse(new File("MyXml.xml"), handler);
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = (Document) builder.newDocument();
document.setXmlVersion("1.0");
Element study = document.createElement("学生成绩表");
document.appendChild(study);
String[] strs = handler.str;
int length = strs.length;
for (int k = 1; k <= length; k++) {
study.appendChild(document.createElement("学生"));
}
NodeList nodeList = document.getElementsByTagName("学生");
int size = nodeList.getLength();
for (int k = 0; k < size; k++) {
Node node = nodeList.item(k);
if (node.getNodeType() == Node.ELEMENT_NODE) {
node.appendChild(document.createElement("学生姓名"));
}
}
nodeList = document.getElementsByTagName("学生姓名");
size = nodeList.getLength();
for (int k = 0; k < size; k++) {
Node node = nodeList.item(k);
if (node.getNodeType() == Node.ELEMENT_NODE) {
node.appendChild(document.createTextNode(strs[k]));
}
}
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
DOMSource domSource = new DOMSource(document);
File file = new File("新学生成绩表.xml");
FileOutputStream out = new FileOutputStream(file);
StreamResult xmlResult = new StreamResult(out);
transformer.transform(domSource, xmlResult);
} catch (Exception e) {
System.out.println(e);
}
}
}
class MyHandler extends DefaultHandler {
String[] str = new String[2];
boolean bool = false;
int i = 0;
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String text = new String(ch, start, length);
if (bool) {
str[i] = text.trim();
i++;
bool = false;
}
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes atts) throws SAXException {
if (qName.equals("学生姓名")) {
bool = true;
}
}
}
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.Transformer;
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.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
@SuppressWarnings("unchecked")
public class Test {
public static void main(String agr[]) {
try {
SAXParserFactory saxFactory = SAXParserFactory.newInstance();
SAXParser saxParser = saxFactory.newSAXParser();
MyHandler handler = new MyHandler();
saxParser.parse(new File("MyXml.xml"), handler);
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = (Document) builder.newDocument();
document.setXmlVersion("1.0");
Element study = document.createElement("学生成绩表");
document.appendChild(study);
String[] strs = handler.str;
int length = strs.length;
for (int k = 1; k <= length; k++) {
study.appendChild(document.createElement("学生"));
}
NodeList nodeList = document.getElementsByTagName("学生");
int size = nodeList.getLength();
for (int k = 0; k < size; k++) {
Node node = nodeList.item(k);
if (node.getNodeType() == Node.ELEMENT_NODE) {
node.appendChild(document.createElement("学生姓名"));
}
}
nodeList = document.getElementsByTagName("学生姓名");
size = nodeList.getLength();
for (int k = 0; k < size; k++) {
Node node = nodeList.item(k);
if (node.getNodeType() == Node.ELEMENT_NODE) {
node.appendChild(document.createTextNode(strs[k]));
}
}
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
DOMSource domSource = new DOMSource(document);
File file = new File("新学生成绩表.xml");
FileOutputStream out = new FileOutputStream(file);
StreamResult xmlResult = new StreamResult(out);
transformer.transform(domSource, xmlResult);
} catch (Exception e) {
System.out.println(e);
}
}
}
class MyHandler extends DefaultHandler {
String[] str = new String[2];
boolean bool = false;
int i = 0;
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String text = new String(ch, start, length);
if (bool) {
str[i] = text.trim();
i++;
bool = false;
}
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes atts) throws SAXException {
if (qName.equals("学生姓名")) {
bool = true;
}
}
}
发表评论
-
J2ME 的优化措施
2012-07-11 02:15 1174常见的性能瓶颈:1.文件的读写和网络的操作2.CPU3.内存4 ... -
JAVA缓存 - Cache类
2011-09-28 11:04 4612JAVA缓存有两种: 一、文件缓存,是指把数据存储在磁盘上 ... -
Java注释(Annotation)详解
2011-03-31 18:22 2399注释:在一个类中可以有多个,类似于一个类可以有多个实例; ... -
Java去除字符串中的空格、回车、换行符、制表符
2011-02-15 11:06 3554本方法采用的是java的正则表达式 import jav ... -
线程池编程
2011-01-23 21:02 1104线程池编程 -
设计模式:Java语言中的应用
2011-01-23 20:59 1319设计模式:Java语言中的应用 -
java用了中间缓存变量
2011-01-23 18:37 2394Java语法、语言特性与机制 2011-01-22 19:1 ... -
Java集合总结
2011-01-19 11:16 3819Set:不区分元素的顺序,不允许出现重复的值list:区分元素 ... -
java.util.current的主要方法简介
2011-01-08 22:18 3434JDK5中增加了Doug Lea的并发库,这一引进给java线 ... -
线程池
2011-01-08 21:03 2069对每个客户都分配一个新的工作线程。当工作线程与客户通信结束,这 ... -
SimpleDateFormat
2010-12-10 16:11 1363With SimpleDateFo ... -
使用 XStream 在 JavaBean 与 XML/JSON 之间相互转换
2010-12-10 14:24 1555XML 和 JSON 是当今常用的两种数据描述与传输的格式,特 ... -
Linux上JDK的 安装和卸载 详细 (转)
2010-11-27 15:48 1924安装 1. 去http://java.sun.com ... -
java 路径问题
2010-11-26 16:21 12961.JSP/Servlet中获得当前应用的相对路径和绝对路径 ... -
对synchronized(this)的一些理解
2010-11-25 23:41 1024一、当两个并发线程访问同一个对象object中的这个synch ... -
Externalizable
2010-11-20 22:41 1358被Serializable接口声明的类的对象的内容都将被序列化 ... -
Java实现文件拷贝的4种方法(转)
2010-11-15 12:33 1248... -
Java内省和反射机制三步曲之 - 内省
2010-11-11 12:15 1343经过多方面的资料搜集整理,写下了这篇文章,本文主要讲解java ... -
java内省机制
2010-11-11 11:10 2397反射 (Reflection):反射就是让你可以通 ... -
Design Pattern: Thread-Specific Storage 模式
2010-11-11 00:00 1209无论如何,要编写一个多执行绪安全(thread-safe)的程 ...
相关推荐
这个是一个C#编写的xml处理类
五、XML处理库 在不同编程语言中,有许多库用于处理XML文件。例如: - Python: `xml.etree.ElementTree`, `lxml` - Java: `javax.xml.parsers.DocumentBuilderFactory`, `org.w3c.dom` - JavaScript: `DOMParser`, `...
XML,即可扩展标记语言,已经成为软件开发领域...与DOM和SAX相比,VTD-XML在易用性、性能和内存管理方面都有显著优势,是XML处理领域的重要突破,对于需要高效处理XML的开发者来说,VTD-XML无疑是一个值得考虑的选择。
Java实用工具包中的XML处理是Java开发者经常遇到的一项任务,特别是在处理数据交换、配置文件或者存储结构化数据时。XML(eXtensible Markup Language)因其结构清晰、可读性强的特点,被广泛应用。本工具包专门针对...
minixml是一款轻量级的XML处理库,特别适用于资源有限的嵌入式环境。它的最新版本为20190314,提供了高效的XML解析、操作和生成功能,同时具备跨平台特性,能够在多种操作系统上运行。这个库的核心设计目标就是简洁...
标题提到的"工业级XML处理类"指的是能够高效、稳定地处理XML的C++类库,适用于大规模和复杂的应用场景。 描述中提到了这个类集合可以完成对XML的多种处理,并且具有强大的功能和简洁的使用方式。这表明这个库可能...
本文将深入探讨XML处理的封装源码,包括解析、创建、修改XML文档的方法,以及如何通过`XmlHelper.cs`和`LinkXmlHelper.cs`两个类来实现这些功能。 首先,我们来看`XmlHelper.cs`。这个类通常会提供一系列静态方法,...
golang 的xml处理库 dom4g提供xml简便的操作方法,如节点 增加,删除,查询,属性增加,修改,删除,查询等功能 具体操作可以见测试文件dom_test.go 标签:Dom4g
### 基于XQuery的XML处理 #### 引言 随着互联网的快速发展与普及,XML(可扩展标记语言)已成为跨平台数据交换的标准格式之一。XML的强大之处在于其能够清晰地表示数据及其结构,这使得它成为网络应用程序之间进行...
### AS3中新的XML处理方法:E4X详解 #### 引言 随着技术的不断发展,数据处理方式也在持续更新迭代。在ActionScript 3.0(简称AS3)中,引入了一种全新的XML处理机制——E4X(ECMAScript for XML)。这标志着AS3在...
在.NET框架中,XML(eXtensible Markup Language)是一种常用的...在实际开发中,根据具体需求和性能考虑,可以选择适合的XML处理技术。理解并熟练运用这些知识点,可以帮助开发者更高效地在.NET环境中操作XML数据。
Java实用工具包大众型XML处理主要关注的是在Java编程环境中如何高效、便捷地处理XML文档。XML(Extensible Markup Language)是一种广泛用于数据交换和存储的标记语言,它具有良好的可读性和结构化特性,因此在Java...
在Lotusscript中,我们可以使用内置的XML处理对象,如`XMLDocument`,来实现这一目标。 描述中提到的"支持xml文件、流及字符串",这意味着Lotusscript能够处理XML数据的不同形式。例如: 1. **XML文件**:可以直接...
这个压缩包“xt-20051014-src.zip”很可能包含了与XML处理相关的源代码或者工具,可能是一个特定版本的XML处理器或者转换工具的源代码。日期“20051014”可能是项目的发布或更新日期,这表明这些资源可能已经有一定...
XML视频教程--(XML处理指令)压缩包2 (分1、2、3、4卷,必须全部下载了才能解压缩)
易语言XML解析模块是专为易语言用户设计的一个高效、便捷的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛应用于数据交换、配置文件存储以及文档结构化描述等领域。易语言,作为中国本土开发...
1. dom4j-1.6.1.jar:这是一个灵活且功能强大的Java XML API,它提供了全面的XML处理功能,包括XML的读取、写入、修改、搜索以及XPath支持。DOM4J基于DOM模型,但更易于使用,且性能优于标准DOM。它支持事件驱动的...
pugixml 是一个轻量级的 C XML处理库。它具有以下特点:1、类似DOM接口并具有丰富的遍历/修改功能。2、非常快的XML解析验证。3、XPath 1实现复杂的数据驱动的树查询。4、完全Unicode编码支持 标签:pugixml
让xml处理无门槛,你会爱上使用xml文件。 该包主要工作是封装,把操作简单明了化,可以让那些对document的东东望而生畏的人不用去"头痛",使用xml处理很简单明了。上面的3个例子只有取属性,其实还有advanceGetNode...