Java与XML(二)用java编写xml的读写程序

xml|程序

Java与XML(二)用java编写xml的读写程序

这是读取xml文件的java程序,我调试好的。采用的是dom方式读取xml文件到Vector中。
package src;
import java.io.*;
import java.util.Vector;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class readxml {
static Document document;
private boolean validating;
public readxml() {
}
public Vector toRead(String filename) {
Vector title=new Vector();
Vector content=new Vector();
String myStr=new String();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(validating);
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(new File(filename));
document.getDocumentElement().normalize();
Node node = document.getFirstChild();
NodeList list = node.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
Node nodeitm = list.item(i);
if (nodeitm.getNodeName().equals("Title")) {
myStr=nodeitm.getFirstChild().getNodeValue();
title.addElement(myStr);//getFirstChild()
}
if (nodeitm.getNodeName().equals("Content")) {
myStr=nodeitm.getFirstChild().getNodeValue();
content.addElement(myStr);
}
}
} catch (Exception exp) {
exp.printStackTrace();
return null;
}
Vector all=new Vector();
all.add(title);
all.add(content);
return all;
}

public static void main(String[] args) {
Vector A;
readxml my = new readxml();
A = my.toRead("f:\\tomcat5\\webapps\\myxml\\xmldata\\9.xml");
for (int i = 0; i < A.size(); i++) {
System.out.println(A.elementAt(i));
}
}
}
这是将xml写入文件。其中,transformer.setOutputProperty(OutputKeys.ENCODING,"GB2312")关系到编码问题,非常重要。
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;
public class writexml {
private Document document;
private String filename;

public writexml(String name) throws ParserConfigurationException{
filename=name;
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
document=builder.newDocument();
}
public void toWrite(String mytitle,String mycontent){
Element root=document.createElement("WorkShop");
document.appendChild(root);
Element title=document.createElement("Title");
title.appendChild(document.createTextNode(mytitle));
root.appendChild(title);
Element content=document.createElement("Content");
content.appendChild(document.createTextNode(mycontent));
root.appendChild(content);
}
public void toSave(){
try{
TransformerFactory tf=TransformerFactory.newInstance();
Transformer transformer=tf.newTransformer();
DOMSource source=new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING,"GB2312");
transformer.setOutputProperty(OutputKeys.INDENT,"yes");
PrintWriter pw=new PrintWriter(new FileOutputStream(filename));
StreamResult result=new StreamResult(pw);
transformer.transform(source,result);
}
catch(TransformerException mye){
mye.printStackTrace();
}
catch(IOException exp){
exp.printStackTrace();
}
}
public static void main(String args[]){
try{
writexml myxml=new writexml("f:\\tomcat5\\webapps\\myxml\\xmldata\\9.xml");
myxml.toWrite("中文题目","中文内容");
myxml.toSave();
System.out.print("Your writing is successful.");
}
catch(ParserConfigurationException exp){
exp.printStackTrace();
System.out.print("Your writing is failed.");
}
}
}

时间: 2024-09-17 03:32:07

Java与XML(二)用java编写xml的读写程序的相关文章

C语言编写的bmp读写程序

C语言编写的bmp读写程序 建议先把bmp的数据存储格式了解下  [cpp] view plaincopy   <span style="font-size:16px;">#include "Windows.h"   #include "stdio.h"   #include "string.h"   #include "malloc.h"      unsigned char *pBmpBuf

java解析xml二种方法

java解析xml二种方法 配置文件为: <?xml version="1.0" encoding="utf-8"?> <config>     <point name="test1">         <name>zhang3</name>         <address>abcdefg</address>         <email>a@b.c

JiBX 1.2,第2部分: 从XML模式到Java代码(二)

为 TimeCard 生成的代码 hrxml 目录中的 Ant build.xml 文件将定义尝试为 TimeCard 模式生成基本代码的 Ant 目标,包括默认生成和几个自定义示例(稍后讨论).样例目录还包含一个测试程序 org.jibx.hrxml.Test.它将使用生成的数据模型类将样例文档解组,然后将文档重新编组并将结果与原始文档相比较.并且样例目录中有一组来自 HR-XML 发行版的测试文档.codegen 目标将使用默认值运行 CodeGen,compile 将编译生成的代码和测试代

java中四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)_java

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SAX:http://sourceforge.net/projects/sax/ JDOM:http://jdom.org/downloads/index.html DOM4J:http://sourceforge.net/projects/dom4j/  一.介绍及优缺点分析

Java与XML(三)web上的读写应用

web|xml 利用(二)中我写的两个函数(放在package src中),这次实现web页面的操作.index.html:<%@ page language="java" pageEncoding="GB2312"%><body><p> </p><p> </p><p> </p><table width="60%" border="1&

JiBX 1.2,第2部分: 从XML模式到Java代码(一)

通过 XML 模式生成更干净的自定义 Java 代码 通过 XML 模式定义生成代码被广泛用于各种类型的 XML 数据交换,包括 Web 服务在内.大多数数据绑定工具都是根据模式严格地组织生成的代码 - 甚至根据可能与应用程序不相关的模式方面.本教程是共两部分的 系列教程 的第二部分,将介绍 JiBX 1.2 如何通过更好地解析模式和消除不必要的类混乱来生成更干净的代码.您还将看到如何自定义生成的代码以更好地满足需求,包括轻松地消除不必要的模式组件的自定义. 开始之前 关于本教程 JiBX 是

java-怎么使用Java将word文档转化为xml文档?

问题描述 怎么使用Java将word文档转化为xml文档? 就是提交上word文档,将word文档转为可以直接使用的xml文档,不是直接修改后缀名的 解决方案 IO读取word,解析内容,拼写xml,IO写入xml. 解决方案二: 把word文档解析出来,重新构建想要的XML格式,然后写出文件 解决方案三: 搞个开元项目 poi 或者 jacob 然后在转xml

java如何解析含有html内容的xml文件

问题描述 java如何解析含有html内容的xml文件 是这样的,现在有个xml文件,实际上是个只有头部是xml标签的文件,内容主体是html写成的,现在想要解析这个xml文件,提取其中的数据,不知该用何种方法. 试过dom4j和jsoup,这两个一个适合用来解析纯xml文件,一个适合解析纯html文件,但是不知如何解析嵌套在xml文件里的html文件.这是我要解析的xml文件截图一部分: 这是xml文件的一部分: <?xml version="1.0"?> - - --

jaxb-请问在把xml转成Java bean以后怎么给抽象属性赋值?

问题描述 请问在把xml转成Java bean以后怎么给抽象属性赋值? 用schema定义xml的数据结构,里面包含有抽象属性abstract=true,请问在把xml转成Java bean以后怎么给属性赋值? 解决方案 对属性的操作不是get/set方法么?不明白你的意识,我是用dom4j解析xml格式的数据,然后set到属性中 解决方案二: 其实想问的是schema中也有继承关系,那么被继承的元素在java 中如何被定义