用jdk自带包操作XML

来源:互联网 发布:大华onvif端口 编辑:程序博客网 时间:2024/05/30 22:56
写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) ) ;}}}