当前位置: 技术问答>java相关
怎样用dom访问xml文档
来源: 互联网 发布时间:2015-05-24
本文导语: 小弟初学jsp和xml,对用dom访问xml文档不太了解,望哪位高手帮忙解释一下,再给一个简单的实例,先谢了。 | import org.jdom.*; import org.jdom.output.*; import org.jdom.input.*; import java.io.*; public...
小弟初学jsp和xml,对用dom访问xml文档不太了解,望哪位高手帮忙解释一下,再给一个简单的实例,先谢了。
|
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import java.io.*;
public class TestJDOM
{
public static void main(String args[])throws Exception
{
//SAXBuilder builds a JDOM tree using SAX.
SAXBuilder sb = new SAXBuilder();
//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了
Document doc = sb.build(new FileInputStream("exampleA.xml"));
//加入一条处理指令
ProcessingInstruction pi = new ProcessingInstruction ("xml-stylesheet","href="/tech-qa-java/greeting.css" type="text/css"");
doc.addContent(pi);
Element root = doc.getRootElement(); //得到根元素
java.util.List books = root.getChildren(); //得到根元素所有子元素的集合
Element book = (Element)books.get(0); //得到第一个book元素
//为第一本书添加一条属性
Attribute a = new Attribute("hot","true");
book.setAttribute(a);
Element author = book.getChild("author"); //得到指定的字元素
author.setText("王五"); //将作者改为王五
//或 Text t = new Text("王五");book.addContent(t);
Element price = book.getChild("price"); //得到指定的字元素
//修改价格,比较郁闷的是我们必须自己转换数据类型,而这正是JAXB的优势
price.setText(Float.toString(50.0f));
String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent,newLines,"gb2312");
outp.output(doc, new FileOutputStream("exampleB.xml"));
}
}
==================
exampleA.xml
Java编程入门
张三
2002-6-6
35.0
XML在Java中的应用
李四
2002-9-16
92.0
所需要的包要下载
import org.jdom.output.*;
import org.jdom.input.*;
import java.io.*;
public class TestJDOM
{
public static void main(String args[])throws Exception
{
//SAXBuilder builds a JDOM tree using SAX.
SAXBuilder sb = new SAXBuilder();
//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了
Document doc = sb.build(new FileInputStream("exampleA.xml"));
//加入一条处理指令
ProcessingInstruction pi = new ProcessingInstruction ("xml-stylesheet","href="/tech-qa-java/greeting.css" type="text/css"");
doc.addContent(pi);
Element root = doc.getRootElement(); //得到根元素
java.util.List books = root.getChildren(); //得到根元素所有子元素的集合
Element book = (Element)books.get(0); //得到第一个book元素
//为第一本书添加一条属性
Attribute a = new Attribute("hot","true");
book.setAttribute(a);
Element author = book.getChild("author"); //得到指定的字元素
author.setText("王五"); //将作者改为王五
//或 Text t = new Text("王五");book.addContent(t);
Element price = book.getChild("price"); //得到指定的字元素
//修改价格,比较郁闷的是我们必须自己转换数据类型,而这正是JAXB的优势
price.setText(Float.toString(50.0f));
String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent,newLines,"gb2312");
outp.output(doc, new FileOutputStream("exampleB.xml"));
}
}
==================
exampleA.xml
Java编程入门
张三
2002-6-6
35.0
XML在Java中的应用
李四
2002-9-16
92.0
所需要的包要下载
|
SQL connect Test
ID
NAME_CH
NAME_EN
PRODUCER
ACTOR
PIC URL
绝对通过,我正在使用!