现在的位置: 首页 > 综合 > 正文

用jdk自带包操作XML

2013年06月14日 ⁄ 综合 ⁄ 共 2801字 ⁄ 字号 评论关闭
写XML:
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 XmlWrite {
private Document document ;
private String filename;
public XmlWrite( 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 {
XmlWrite myxml= new XmlWrite( "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." ) ;
}
}
}

读XML:
import java . io . * ;
import java . util . Vector ;
import javax . xml . parsers . * ;
import org . w3c . dom . * ;
public class XmlRead {
static Document document ;
private boolean validating;
public XmlRead( ) {
}
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;
XmlRead my = new XmlRead( ) ;
A = my. toRead( "9.xml" ) ;
for ( int i = 0; i < A. size ( ) ; i+ + ) {
System . out. println ( A. elementAt ( i) ) ;
}
}
}

 

 

抱歉!评论已关闭.