首页javasaxJava HTML/XML - 如何使用XML DOM添加命名空间前缀XML String

Java HTML/XML - 如何使用XML DOM添加命名空间前缀XML String

我们想知道如何使用XML DOM添加命名空间前缀XML String。
import java.io.StringWriter;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamResult;

import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLFilterImpl;
import org.xml.sax.helpers.XMLReaderFactory;

public class Main {

  public static void main(String args[]) throws Exception {
    XMLReader xmlReader = new XMLFilterImpl(XMLReaderFactory.createXMLReader()) {
      String namespace = "http://www.w3cschool.cn/schemas.xsd";
      String pref = "ns0:";

      @Override
      public void startElement(String uri, String localName, String qName,
          Attributes atts) throws SAXException {
        super.startElement(namespace, localName, pref + qName, atts);
      }

      @Override
      public void endElement(String uri, String localName, String qName)
          throws SAXException {
        super.endElement(namespace, localName, pref + qName);
      }
    };
    TransformerFactory tf = TransformerFactory.newInstance();
    Transformer t = tf.newTransformer();
    StringWriter s = new StringWriter();
    t.transform(new SAXSource(xmlReader, new InputSource("test.xml")),
        new StreamResult(s));
    System.out.println(s);
  }
}