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

📄 roundtrip.java

📁 j2me简单实例,j2me教程加源码,希望大家喜欢
💻 JAVA
字号:
//package org.xmlpull.v1.samples;import java.io.*;import org.kxml2.io.*;import org.xmlpull.v1.*;public class Roundtrip {    //private static final String FEATURE_XML_ROUNDTRIP=    //    "http://xmlpull.org/v1/doc/features.html#xml-roundtrip";    XmlPullParser parser;    XmlSerializer serializer;    public Roundtrip(        XmlPullParser parser,        XmlSerializer serializer) {        this.parser = parser;        this.serializer = serializer;    }    public void writeStartTag()        throws XmlPullParserException, IOException {        //check forcase when feature xml roundtrip is supported        //if (parser.getFeature (FEATURE_XML_ROUNDTRIP)) {        //TODO: how to do pass through string with actual start tag in getText()        //return;        //}        if (!parser            .getFeature(                XmlPullParser                    .FEATURE_REPORT_NAMESPACE_ATTRIBUTES)) {            for (int i =                parser.getNamespaceCount(parser.getDepth() - 1);                i                    < parser.getNamespaceCount(parser.getDepth())                        - 1;                i++) {                serializer.setPrefix(                    parser.getNamespacePrefix(i),                    parser.getNamespaceUri(i));            }        }        serializer.startTag(            parser.getNamespace(),            parser.getName());        for (int i = 0; i < parser.getAttributeCount(); i++) {            serializer.attribute(                parser.getAttributeNamespace(i),                parser.getAttributeName(i),                parser.getAttributeValue(i));        }        //serializer.closeStartTag();    }    public void writeToken()        throws XmlPullParserException, IOException {        switch (parser.getEventType()) {            case XmlPullParser.START_DOCUMENT :                serializer.startDocument (null, null);                break;            case XmlPullParser.END_DOCUMENT :                serializer.endDocument();                break;            case XmlPullParser.START_TAG :                writeStartTag();                break;            case XmlPullParser.END_TAG :                serializer.endTag(                    parser.getNamespace(),                    parser.getName());                break;            case XmlPullParser.IGNORABLE_WHITESPACE :                //comment it to remove ignorable whtespaces from XML infoset                serializer.ignorableWhitespace(parser.getText());                break;            case XmlPullParser.TEXT :            	if(parser.getText() == null)            		System.err.println("null text error at: "+parser.getPositionDescription());				else					serializer.text(parser.getText());                break;            case XmlPullParser.ENTITY_REF :            	if(parser.getText() != null)            		serializer.text(parser.getText());            	else             		serializer.entityRef(parser.getName());                break;            case XmlPullParser.CDSECT :                serializer.cdsect(parser.getText());                break;            case XmlPullParser.PROCESSING_INSTRUCTION :                serializer.processingInstruction(                    parser.getText());                break;            case XmlPullParser.COMMENT :                serializer.comment(parser.getText());                break;            case XmlPullParser.DOCDECL :                serializer.docdecl(parser.getText());                break;            default :                throw new RuntimeException(                    "unrecognized event: "                        + parser.getEventType());        }    }    public void roundTrip()        throws XmlPullParserException, IOException {        	        while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {            writeToken();			serializer.flush();            parser.nextToken();        }        writeToken();    }    public static void main(String[] args) throws Exception {        if (args.length == 0)            throw new RuntimeException("input xml file name expected");        for (int i = 0; i < args.length; i++) {            System.out.println("processing: " + args[i]);            XmlPullParser pp = new KXmlParser();            pp.setFeature(                XmlPullParser.FEATURE_PROCESS_NAMESPACES,                true);            XmlSerializer serializer = new KXmlSerializer();            pp.setInput(new FileReader(args[i]));            serializer.setOutput(System.out, null);            (new Roundtrip(pp, serializer)).roundTrip();            serializer.flush();        }    }}

⌨️ 快捷键说明

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