使用DOM文档对象的时候,怎样指定文档类型?
就是添加
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    这个声明是在html里面的,现在我把html转为xml,不知道在xml文件哪里添加这句话,才可以用xsl样式正确
      

  2.   

    package com.hgeagle.rescue.xml;import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.FactoryConfigurationError;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.io.XMLWriter;
    import org.xml.sax.SAXException;public class XmlTool {
        public XmlTool(){
        
        }
        
        public static org.w3c.dom.Document loadFromFile(String file)
        throws FactoryConfigurationError, ParserConfigurationException, IOException, SAXException{
          return  DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
        }
        
        public static org.w3c.dom.Document loadIgnoringDocFromFile(String file) throws Exception{
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setIgnoringComments(true);
        return factory.newDocumentBuilder().parse(new File(file));
       }
        
        /**
         * FUNC:将document对象,转换为字符串
         * @param doc Document对象
         * @param encodeing 编码格式
         * @return
         * @throws Exception
         */
        public static String changeDocToString(org.w3c.dom.Document doc ,String encodeing)
        throws Exception
        {
         if(doc == null) return "";
         TransformerFactory tf = TransformerFactory.newInstance();
         Transformer t = tf.newTransformer();
         t.setOutputProperty(OutputKeys.ENCODING, encodeing);//解决中文问题,只能用gb2312,gbk都有问题
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         t.transform(new javax.xml.transform.dom.DOMSource(doc), new StreamResult(bos));
         return bos.toString();
        }
    // public static Document loadIgnoringDocFromFile(String file)
    // throws Exception {
    // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    // factory.setIgnoringComments(true);
    //// return factory.newDocumentBuilder().parse(new File(file));
    // return (Document) factory.newDocumentBuilder().parse(new File(file));
    // } public String myAsXml(Document document) {
    String text = document.asXML();
    return text;
    } public Document str2document(String text) {
    //       text = "<person> <name>James</name> </person>";
    Document document = null;
    try {
    document = DocumentHelper.parseText(text);
    } catch (DocumentException e) {
    e.printStackTrace();
    }
    return document;
    } public void document2xmlFile(Document document) throws IOException {
    // 写入文件
    XMLWriter writer = new XMLWriter(new FileWriter("E:\\eagle\\jms\\myExc.xml"));
    writer.write(document);
    writer.close();
    // 以一种优雅的格式写入System.out对象
    //         OutputFormat format = OutputFormat.createPrettyPrint();
    //         writer = new XMLWriter( System.out, format );
    //         writer.write( document );
    //
    //         // 以一种紧凑的格式写入System.out对象
    //         format = OutputFormat.createCompactFormat();
    //         writer = new XMLWriter( System.out, format );
    //         writer.write( document );
    }
    }
      

  3.   

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    </xsl:stylesheet>