`

xml处理

    博客分类:
  • J2SE
XML 
阅读更多
写道
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;
}
}
}

 

0
0
分享到:
评论

相关推荐

    xml处理工具类

    这个是一个C#编写的xml处理类

    xml文件处理程序

    五、XML处理库 在不同编程语言中,有许多库用于处理XML文件。例如: - Python: `xml.etree.ElementTree`, `lxml` - Java: `javax.xml.parsers.DocumentBuilderFactory`, `org.w3c.dom` - JavaScript: `DOMParser`, `...

    简化XML处理详解

    XML,即可扩展标记语言,已经成为软件开发领域...与DOM和SAX相比,VTD-XML在易用性、性能和内存管理方面都有显著优势,是XML处理领域的重要突破,对于需要高效处理XML的开发者来说,VTD-XML无疑是一个值得考虑的选择。

    java实用工具包大众型XML处理

    Java实用工具包中的XML处理是Java开发者经常遇到的一项任务,特别是在处理数据交换、配置文件或者存储结构化数据时。XML(eXtensible Markup Language)因其结构清晰、可读性强的特点,被广泛应用。本工具包专门针对...

    minixml-20190314 XML处理库 最新源代码

    minixml是一款轻量级的XML处理库,特别适用于资源有限的嵌入式环境。它的最新版本为20190314,提供了高效的XML解析、操作和生成功能,同时具备跨平台特性,能够在多种操作系统上运行。这个库的核心设计目标就是简洁...

    工业级XML处理类

    标题提到的"工业级XML处理类"指的是能够高效、稳定地处理XML的C++类库,适用于大规模和复杂的应用场景。 描述中提到了这个类集合可以完成对XML的多种处理,并且具有强大的功能和简洁的使用方式。这表明这个库可能...

    xml处理封装源码

    本文将深入探讨XML处理的封装源码,包括解析、创建、修改XML文档的方法,以及如何通过`XmlHelper.cs`和`LinkXmlHelper.cs`两个类来实现这些功能。 首先,我们来看`XmlHelper.cs`。这个类通常会提供一系列静态方法,...

    golang的xml处理库Dom4g.zip

    golang 的xml处理库 dom4g提供xml简便的操作方法,如节点 增加,删除,查询,属性增加,修改,删除,查询等功能 具体操作可以见测试文件dom_test.go 标签:Dom4g

    基于XQuery 的XML 处理

    ### 基于XQuery的XML处理 #### 引言 随着互联网的快速发展与普及,XML(可扩展标记语言)已成为跨平台数据交换的标准格式之一。XML的强大之处在于其能够清晰地表示数据及其结构,这使得它成为网络应用程序之间进行...

    AS3中新的XML处理方法.pdf

    ### AS3中新的XML处理方法:E4X详解 #### 引言 随着技术的不断发展,数据处理方式也在持续更新迭代。在ActionScript 3.0(简称AS3)中,引入了一种全新的XML处理机制——E4X(ECMAScript for XML)。这标志着AS3在...

    在.NET中如何处理XML

    在.NET框架中,XML(eXtensible Markup Language)是一种常用的...在实际开发中,根据具体需求和性能考虑,可以选择适合的XML处理技术。理解并熟练运用这些知识点,可以帮助开发者更高效地在.NET环境中操作XML数据。

    java实用工具包大众型XML处理.zip

    Java实用工具包大众型XML处理主要关注的是在Java编程环境中如何高效、便捷地处理XML文档。XML(Extensible Markup Language)是一种广泛用于数据交换和存储的标记语言,它具有良好的可读性和结构化特性,因此在Java...

    domino通过lotusscript解析xml

    在Lotusscript中,我们可以使用内置的XML处理对象,如`XMLDocument`,来实现这一目标。 描述中提到的"支持xml文件、流及字符串",这意味着Lotusscript能够处理XML数据的不同形式。例如: 1. **XML文件**:可以直接...

    xml处理xt-20051014-src.zip

    这个压缩包“xt-20051014-src.zip”很可能包含了与XML处理相关的源代码或者工具,可能是一个特定版本的XML处理器或者转换工具的源代码。日期“20051014”可能是项目的发布或更新日期,这表明这些资源可能已经有一定...

    XML视频教程--(XML处理指令)2

    XML视频教程--(XML处理指令)压缩包2 (分1、2、3、4卷,必须全部下载了才能解压缩)

    易语言 XML 解析模块

    易语言XML解析模块是专为易语言用户设计的一个高效、便捷的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛应用于数据交换、配置文件存储以及文档结构化描述等领域。易语言,作为中国本土开发...

    xml解析jar包

    1. dom4j-1.6.1.jar:这是一个灵活且功能强大的Java XML API,它提供了全面的XML处理功能,包括XML的读取、写入、修改、搜索以及XPath支持。DOM4J基于DOM模型,但更易于使用,且性能优于标准DOM。它支持事件驱动的...

    轻量级C 的XML处理库pugixml.zip

    pugixml 是一个轻量级的 C XML处理库。它具有以下特点:1、类似DOM接口并具有丰富的遍历/修改功能。2、非常快的XML解析验证。3、XPath 1实现复杂的数据驱动的树查询。4、完全Unicode编码支持 标签:pugixml

    java实用工具包(大众型)--XML处理

    让xml处理无门槛,你会爱上使用xml文件。 该包主要工作是封装,把操作简单明了化,可以让那些对document的东东望而生畏的人不用去"头痛",使用xml处理很简单明了。上面的3个例子只有取属性,其实还有advanceGetNode...

Global site tag (gtag.js) - Google Analytics