这是读取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.");
}
}
}
分享到:
相关推荐
总的来说,这个应用程序的核心是利用Java的强大能力来处理数据,通过JDBC与数据库交互,使用XML API进行数据交换,这些都是Java开发者必备的技能。掌握这些知识不仅可以构建高效的数据驱动应用程序,还能适应各种...
**XMLBean**是一款类似于Hibernate这样的对象关系映射(Object Relational Mapping,ORM)工具的产品,它将复杂的XML读写操作简化为对JavaBean的操作,从而极大地简化了XML的读写过程,使得即使是不熟悉XML的开发者...
Java与XML数据绑定是将Java对象与XML文档之间的映射关系进行自动化处理的一种技术,它极大地简化了在Java应用中处理XML数据的工作流程。在Java世界中,JAXB(Java Architecture for XML Binding)是Java EE平台的一...
本资源“XML与JAVA程序设计大全”提供了全面的学习材料,帮助读者深入理解这两门技术的结合及其实际应用。 XML是一种标记语言,它的设计目标是传输和存储数据,而不是用于显示数据。XML的特点在于其结构化和自描述...
3. **XML读写**:在Java中,我们可以使用如JAXB(Java Architecture for XML Binding)或者DOM、SAX、StAX等API来读取和写入XML文件。JAXB允许我们将Java对象自动转换为XML,反之亦然,非常方便。DOM API则将XML文档...
JAXB是Java平台的标准部分,用于对象与XML之间的自动绑定。它将XML数据转换为Java对象,反之亦然,简化了数据交换。 - 优点:自动化程度高,易于使用,适合对象和XML之间的转换。 - 缺点:可能产生大量冗余代码,对...
为了实现Java与XML之间的交互,开发者可能使用了Java API for XML Processing (JAXP) 或者DOM4J等库。JAXP提供了解析和生成XML文档的能力,而DOM4J则是一个更易于使用的API,支持XML的读写、遍历和修改。通过这些...
4. **文件I/O操作**:在Java中,使用`java.io`包中的类进行文件读写操作,如`FileReader`, `FileWriter`, `BufferedReader`, `BufferedWriter`等,这些在与XML文件交互时必不可少。 5. **Java GUI(图形用户界面)*...
Java与XML技术是软件开发中的两个重要组成部分,它们在企业级应用、数据交换、配置管理等领域有着广泛的应用。...在学习过程中,实践是关键,通过编写实际的Java程序来处理XML,将有助于加深理解和提高技能。
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和易于解析的特点广泛应用于软件...实践是学习的最佳途径,尝试编写读写XML的程序,将有助于你更好地掌握DOM4J的用法。
Java和XML数据绑定是将XML文档中的数据与Java对象模型之间建立映射关系的技术,使得开发者可以方便地在XML和Java对象之间进行数据交换。这项技术对于处理XML数据的Java应用来说至关重要,尤其是在Web服务、配置文件...
此外,为了测试和验证XML操作的正确性,通常会编写JUnit测试用例,确保不同场景下的读写功能都能正常工作。 总结来说,Java操作XML文件涉及多种API和库,如DOM、SAX、StAX以及第三方库JDOM、DOM4J等。理解这些工具...
例子比较简单”的描述中,我们可以推断出这个压缩包包含了一些关于如何使用DOM4J进行XML读写的基本示例。以下是对这些关键知识点的详细解释: 1. **XML解析**:DOM4J支持两种解析XML文档的方式:SAX(Simple API ...
"无废话XML"很可能是对XML简洁性和实用性的强调,强调在编写XML时避免不必要的复杂性,提高代码可读性和维护性。这部分可能包括最佳实践,如避免使用过于复杂的嵌套,合理使用命名空间,以及正确使用属性和元素来...
使用Java编写XML文件同样可以采用DOM方式。下面是一个简单的示例: ```java // 创建DocumentBuilderFactory实例 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // 创建DocumentBuilder对象...
超过1000页的完整教程,内容涉及编写用于读写XML文档的Java程序。
Java与XML是两种在软件开发领域中至关重要的技术。...实践中,你可以通过编写小程序,如XML数据的读取、解析、转换和验证,来巩固这些理论知识。随着经验的积累,你将能灵活运用Java与XML,解决更复杂的问题。
综上所述,本项目综合运用了多种Java技术,实现了从XML数据的解析到Word文档的生成,以及通过JSON数据在小程序与Java服务端之间的交互。这样的架构设计既保证了数据处理的灵活性,也提升了用户体验。
另外,`java.util.Properties`类可以方便地读写XML格式的配置文件。 综上所述,XML在Java开发中扮演着重要角色,提供了多种解析和操作方式,开发者可以根据项目需求选择合适的工具和策略。DOM适合小规模且需频繁...