Java Tutorial/XML/DocumentBuilder

Материал из Java эксперт
Перейти к: навигация, поиск

Create new DocumentBuilderFactory

   <source lang="java">

import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; public class TryDOM {

 public static void main(String args[]) {
   DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = null;
   try {
     builder = builderFactory.newDocumentBuilder();
   } catch (ParserConfigurationException e) {
     e.printStackTrace();
     System.exit(1);
   }
   System.out.println("Builder Factory = " + builderFactory + "\nBuilder = " + builder);
 }

}</source>





New Document From InputStream

   <source lang="java">

import java.io.IOException; import java.io.InputStream; import java.io.StringReader; import java.io.StringWriter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; /*******************************************************************************

* Copyright (C) 2007 Google Inc.
* 
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* 
* http://www.apache.org/licenses/LICENSE-2.0
* 
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
******************************************************************************/

/**

* Various XML utilities.
* 
* @author simonjsmith, ksim
* @version 1.1 - ksim - March 6th, 2007 - Added functions regarding streaming
* @version 1.2 - ksim - March 10th, 2007 - Added functions regarding DOM
*          manipulation
*/

public class Utils {

 public static Document newDocumentFromInputStream(InputStream in) {
   DocumentBuilderFactory factory = null;
   DocumentBuilder builder = null;
   Document ret = null;
   try {
     factory = DocumentBuilderFactory.newInstance();
     builder = factory.newDocumentBuilder();
   } catch (ParserConfigurationException e) {
     e.printStackTrace();
   }
   try {
     ret = builder.parse(new InputSource(in));
   } catch (SAXException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
   return ret;
 }

}</source>





New Document From String

   <source lang="java">

import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; /*******************************************************************************

* Copyright (C) 2007 Google Inc.
* 
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* 
* http://www.apache.org/licenses/LICENSE-2.0
* 
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
******************************************************************************/

/**

* Various XML utilities.
* 
* @author simonjsmith, ksim
* @version 1.1 - ksim - March 6th, 2007 - Added functions regarding streaming
* @version 1.2 - ksim - March 10th, 2007 - Added functions regarding DOM
*          manipulation
*/

public class Utils {

 public static Document newDocumentFromString(String xmlString) {
   DocumentBuilderFactory factory = null;
   DocumentBuilder builder = null;
   Document ret = null;
   try {
     factory = DocumentBuilderFactory.newInstance();
     builder = factory.newDocumentBuilder();
   } catch (ParserConfigurationException e) {
     e.printStackTrace();
   }
   try {
     ret = builder.parse(new InputSource(new StringReader(xmlString)));
   } catch (SAXException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
   return ret;
 }

}</source>