⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saxoutputter.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/* * Copyright 2001-2004 The Apache Software Foundation. *  * 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. */package org.apache.axis.message;import org.apache.axis.components.logger.LogFactory;import org.apache.axis.encoding.SerializationContext;import org.apache.axis.utils.XMLUtils;import org.apache.commons.logging.Log;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.ext.LexicalHandler;import org.xml.sax.helpers.DefaultHandler;import javax.xml.namespace.QName;import java.io.IOException;public class SAXOutputter extends DefaultHandler implements LexicalHandler{    protected static Log log =        LogFactory.getLog(SAXOutputter.class.getName());        SerializationContext context;    boolean isCDATA = false;        public SAXOutputter(SerializationContext context)    {        this.context = context;    }        public void startDocument() throws SAXException {        context.setSendDecl(true);    }        public void endDocument() throws SAXException {        if (log.isDebugEnabled()) {            log.debug("SAXOutputter.endDocument");        }    }        public void startPrefixMapping(String p1, String p2) throws SAXException {        context.registerPrefixForURI(p1,p2);    }        public void endPrefixMapping(String p1) throws SAXException {        // !!!    }        public void characters(char[] p1, int p2, int p3) throws SAXException {        if (log.isDebugEnabled()) {            log.debug("SAXOutputter.characters ['" + new String(p1, p2, p3) + "']");        }        try {            if(!isCDATA) {                context.writeChars(p1, p2, p3);            } else {                 context.writeString(new String(p1, p2, p3));            }        } catch (IOException e) {            throw new SAXException(e);        }    }        public void ignorableWhitespace(char[] p1, int p2, int p3)         throws SAXException    {        try {            context.writeChars(p1, p2, p3);        } catch (IOException e) {            throw new SAXException(e);        }    }     public void skippedEntity(String p1) throws SAXException {    }        public void startElement(String namespace, String localName,                             String qName, Attributes attributes)        throws SAXException    {        if (log.isDebugEnabled()) {            log.debug("SAXOutputter.startElement ['" + namespace + "' " +                           localName + "]");        }        try {            context.startElement(new QName(namespace,localName), attributes);        } catch (IOException e) {            throw new SAXException(e);        }    }        public void endElement(String namespace, String localName, String qName)        throws SAXException    {        if (log.isDebugEnabled()) {            log.debug("SAXOutputter.endElement ['" + namespace + "' " +                           localName + "]");        }                try {            context.endElement();        } catch (IOException e) {            throw new SAXException(e);        }    }    public void startDTD(java.lang.String name,                     java.lang.String publicId,                     java.lang.String systemId)              throws SAXException    {    }        public void endDTD()            throws SAXException    {    }        public void startEntity(java.lang.String name)                 throws SAXException    {    }        public void endEntity(java.lang.String name)               throws SAXException    {    }        public void startCDATA()                throws SAXException    {        try {            isCDATA = true;            context.writeString("<![CDATA[");        } catch (IOException e) {            throw new SAXException(e);        }    }        public void endCDATA()              throws SAXException    {        try {            isCDATA = false;            context.writeString("]]>");        } catch (IOException e) {            throw new SAXException(e);        }    }        public void comment(char[] ch,                    int start,                    int length)             throws SAXException    {        if (log.isDebugEnabled()) {            log.debug("SAXOutputter.comment ['" + new String(ch, start, length) + "']");        }        try {            context.writeString("<!--");            context.writeChars(ch, start, length);            context.writeString("-->");        } catch (IOException e) {            throw new SAXException(e);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -