Package

Source Code of RunDomReader

import java.io.*;

import javax.xml.parsers.*;
import javax.xml.transform.Source;
import javax.xml.transform.dom.*;
import javax.xml.stream.*;

import org.w3c.dom.*;
import org.xml.sax.InputSource;

import org.codehaus.stax2.*;

public class RunDomReader
{
    public static void main(String[] args)
        throws Exception
    {
        String XML = "<blah xmlns=\"http://blah.org\"><foo>foo</foo></blah>";
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(false);
        dbf.setValidating(false);
        DocumentBuilder builder = dbf.newDocumentBuilder();
        Document doc = builder.parse(new InputSource(new StringReader(XML)));

        // to see if Xerces (etc) mind illegal chars, try:
        /*
        Text txt = doc.createTextNode("Invalid: \u000C./"+((char) 0)+"..");
        doc.getDocumentElement().appendChild(txt);
        */

        Source source = new DOMSource(doc);

        XMLInputFactory f = new com.ctc.wstx.stax.WstxInputFactory();
        //f.setProperty(XMLInputFactory2.P_INTERN_NAMES, Boolean.TRUE);
        System.out.println("DEBUG: factory, intern names = "+f.getProperty(XMLInputFactory2.P_INTERN_NAMES));

        XMLStreamReader sr = f.createXMLStreamReader(source);
        System.out.println("DEBUG: reader, intern names = "+sr.getProperty(XMLInputFactory2.P_INTERN_NAMES));

        while (sr.hasNext()) {
            int type = sr.next();
            System.out.print("["+type+"]");
           
            if (sr.hasName()) {
                System.out.println(" name = '"+sr.getName()+"'");
            }
           
            System.out.println();
        }
    }
}

TOP

Related Classes of RunDomReader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.