亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? domecho.java

?? Read web RSS Feeds to break it into simple tags elements
?? JAVA
字號:
// JAXP packages
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.w3c.dom.*;

import java.io.*;


/**
 * This is a program to echo a DOM tree using DOM Level 2 interfaces.  Use
 * JAXP to load an XML file and create a DOM tree.  DOM currently does not
 * provide a method to do this.  (This is planned for Level 3.)  See the
 * method "main" for the three basic steps.  Once the application obtains a
 * DOM Document tree, it dumps out the nodes in the tree and associated
 * node attributes for each node.
 *
 * This program also shows how to validate a document along with using an
 * ErrorHandler to capture validation errors.
 *
 * Note: Program flags may be used to create non-conformant but possibly
 * useful DOM trees.  In some cases, particularly with element content
 * whitespace, applications may not want to rely on JAXP to filter out
 * these nodes but may want to skip the nodes themselves so the application
 * will be more robust.
 *
 *  Added code that shows how to use JAXP 1.2 features to
 * support W3C XML Schema validation.  See the JAXP 1.2 maintenance review
 * specification for more information on these features.
 *
 * @author Raja Abbu
 */
public class DOMEcho {
    /** All output will use this encoding */
    static final String outputEncoding = "UTF-8";

    /** Output goes here */
    private PrintWriter out;

    /** Indent level */
    private int indent = 0;

    /** Indentation will be in multiples of basicIndent  */
    private final String basicIndent = "  ";


    DOMEcho(PrintWriter out) {
        this.out = out;
    }

    /**
     * Echo common attributes of a DOM2 Node and terminate output with an
     * EOL character.
     */
    private void printlnCommon(Node n) {
        out.print(" nodeName=\"" + n.getNodeName() + "\"");

        String val = n.getNamespaceURI();
        if (val != null) {
            out.print(" uri=\"" + val + "\"");
        }

        val = n.getPrefix();
        if (val != null) {
            out.print(" pre=\"" + val + "\"");
        }

        val = n.getLocalName();
        if (val != null) {
            out.print(" local=\"" + val + "\"");
        }

        val = n.getNodeValue();
        if (val != null) {
            out.print(" nodeValue=");
            if (val.trim().equals("")) {
                // Whitespace
                out.print("[WS]");
            } else {
                out.print("\"" + n.getNodeValue() + "\"");
            }
        }
        out.println();
    }

    /**
     * Indent to the current level in multiples of basicIndent
     */
    private void outputIndentation() {
        for (int i = 0; i < indent; i++) {
            out.print(basicIndent);
        }
    }

    /**
     * Recursive routine to print out DOM tree nodes
     */
    private void echo(Node n) {
        // Indent to the current level before printing anything
        outputIndentation();

        int type = n.getNodeType();
        switch (type) {
        case Node.ATTRIBUTE_NODE:
            out.print("ATTR:");
            printlnCommon(n);
            break;
        case Node.CDATA_SECTION_NODE:
            out.print("CDATA:");
            printlnCommon(n);
            break;
        case Node.COMMENT_NODE:
            out.print("COMM:");
            printlnCommon(n);
            break;
        case Node.DOCUMENT_FRAGMENT_NODE:
            out.print("DOC_FRAG:");
            printlnCommon(n);
            break;
        case Node.DOCUMENT_NODE:
            out.print("DOC:");
            printlnCommon(n);
            break;
        case Node.DOCUMENT_TYPE_NODE:
            out.print("DOC_TYPE:");
            printlnCommon(n);

            // Print entities if any
            NamedNodeMap nodeMap = ((DocumentType)n).getEntities();
            indent += 2;
            for (int i = 0; i < nodeMap.getLength(); i++) {
                Entity entity = (Entity)nodeMap.item(i);
                echo(entity);
            }
            indent -= 2;
            break;
        case Node.ELEMENT_NODE:
            out.print("ELEM:");
            printlnCommon(n);

            // Print attributes if any.  Note: element attributes are not
            // children of ELEMENT_NODEs but are properties of their
            // associated ELEMENT_NODE.  For this reason, they are printed
            // with 2x the indent level to indicate this.
            NamedNodeMap atts = n.getAttributes();
            indent += 2;
            for (int i = 0; i < atts.getLength(); i++) {
                Node att = atts.item(i);
                echo(att);
            }
            indent -= 2;
            break;
        case Node.ENTITY_NODE:
            out.print("ENT:");
            printlnCommon(n);
            break;
        case Node.ENTITY_REFERENCE_NODE:
            out.print("ENT_REF:");
            printlnCommon(n);
            break;
        case Node.NOTATION_NODE:
            out.print("NOTATION:");
            printlnCommon(n);
            break;
        case Node.PROCESSING_INSTRUCTION_NODE:
            out.print("PROC_INST:");
            printlnCommon(n);
            break;
        case Node.TEXT_NODE:
            out.print("TEXT:");
            printlnCommon(n);
            break;
        default:
            out.print("UNSUPPORTED NODE: " + type);
            printlnCommon(n);
            break;
        }

        // Print children if any
        indent++;
        for (Node child = n.getFirstChild(); child != null;
             child = child.getNextSibling()) {
            echo(child);
        }
        indent--;
    }

    private static void usage() {
        System.err.println("Usage: DOMEcho [-options] <file.xml>");
        System.err.println("       -dtd = DTD validation");
        System.err.println("       -ws = do not create element content whitespace nodes");
        System.err.println("       -co[mments] = do not create comment nodes");
        System.err.println("       -cd[ata] = put CDATA into Text nodes");
        System.err.println("       -e[ntity-ref] = create EntityReference nodes");
        System.err.println("       -usage or -help = this message");
        System.exit(1);
    }

    public static void main(String[] args) throws Exception {
        String filename = null;
        boolean dtdValidate = false;

        boolean ignoreWhitespace = false;
        boolean ignoreComments = false;
        boolean putCDATAIntoText = false;
        boolean createEntityRefs = false;

        for (int i = 0; i < args.length; i++) {
            if (args[i].equals("-dtd")) {
                dtdValidate = true;
            } else if (args[i].equals("-ws")) {
                ignoreWhitespace = true;
            } else if (args[i].startsWith("-co")) {
                ignoreComments = true;
            } else if (args[i].startsWith("-cd")) {
                putCDATAIntoText = true;
            } else if (args[i].startsWith("-e")) {
                createEntityRefs = true;
            } else if (args[i].equals("-usage")) {
                usage();
            } else if (args[i].equals("-help")) {
                usage();
            } else {
                filename = args[i];

                // Must be last arg
                if (i != args.length - 1) {
                    usage();
                }
            }
        }
        if (filename == null) {
            usage();
        }

        // Step 1: create a DocumentBuilderFactory and configure it
        DocumentBuilderFactory dbf =
            DocumentBuilderFactory.newInstance();

        // Set namespaceAware to true to get a DOM Level 2 tree with nodes
        // containing namesapce information.  This is necessary because the
        // default value from JAXP 1.0 was defined to be false.
        dbf.setNamespaceAware(true);

        // Set the validation mode to either: no validation, DTD
        // validation 
        dbf.setValidating(dtdValidate);


        // Optional: set various configuration options
        dbf.setIgnoringComments(ignoreComments);
        dbf.setIgnoringElementContentWhitespace(ignoreWhitespace);
        dbf.setCoalescing(putCDATAIntoText);
        // The opposite of creating entity ref nodes is expanding them inline
        dbf.setExpandEntityReferences(!createEntityRefs);

        // Step 2: create a DocumentBuilder that satisfies the constraints
        // specified by the DocumentBuilderFactory
        DocumentBuilder db = dbf.newDocumentBuilder();

        // Set an ErrorHandler before parsing
        OutputStreamWriter errorWriter =
            new OutputStreamWriter(System.err, outputEncoding);
        db.setErrorHandler(
            new MyErrorHandler(new PrintWriter(errorWriter, true)));

        // Step 3: parse the input file
        Document doc = db.parse(new File(filename));

        // Print out the DOM tree
        OutputStreamWriter outWriter =
            new OutputStreamWriter(System.out, outputEncoding);
        new DOMEcho(new PrintWriter(outWriter, true)).echo(doc);
    }

    // Error handler to report errors and warnings
    private static class MyErrorHandler implements ErrorHandler {
        /** Error handler output goes here */
        private PrintWriter out;

        MyErrorHandler(PrintWriter out) {
            this.out = out;
        }

        /**
         * Returns a string describing parse exception details
         */
        private String getParseExceptionInfo(SAXParseException spe) {
            String systemId = spe.getSystemId();
            if (systemId == null) {
                systemId = "null";
            }
            String info = "URI=" + systemId +
                " Line=" + spe.getLineNumber() +
                ": " + spe.getMessage();
            return info;
        }

        // The following methods are standard SAX ErrorHandler methods.
        // See SAX documentation for more info.

        public void warning(SAXParseException spe) throws SAXException {
            out.println("Warning: " + getParseExceptionInfo(spe));
        }
        
        public void error(SAXParseException spe) throws SAXException {
            String message = "Error: " + getParseExceptionInfo(spe);
            throw new SAXException(message);
        }

        public void fatalError(SAXParseException spe) throws SAXException {
            String message = "Fatal Error: " + getParseExceptionInfo(spe);
            throw new SAXException(message);
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本乱码在线观看| 日韩精品中文字幕一区| 国产成人精品免费一区二区| 日韩福利电影在线观看| 午夜精品福利一区二区蜜股av| 国产精品久久久久一区| 国产精品久久久久久久裸模| 国产亚洲精久久久久久| 国产精品乱人伦中文| 中文字幕中文字幕中文字幕亚洲无线| 国产精品久久久久一区二区三区共| 欧美国产亚洲另类动漫| 中文字幕视频一区| 亚洲国产精品久久久久婷婷884| 亚洲在线视频免费观看| 亚洲va欧美va人人爽| 热久久一区二区| 国产精品综合网| 成人深夜福利app| 国产精品 日产精品 欧美精品| 国产福利91精品一区二区三区| www.欧美日韩| 精品捆绑美女sm三区| 久久亚洲一区二区三区明星换脸| 久久久久久**毛片大全| 国产精品久久久久久久久快鸭| 亚洲激情在线激情| 另类中文字幕网| 国产**成人网毛片九色 | 日韩丝袜情趣美女图片| 精品久久久久久久人人人人传媒| 国产女人18毛片水真多成人如厕 | 中文字幕在线不卡国产视频| 亚洲男同性视频| 全国精品久久少妇| 成人久久视频在线观看| 91国产精品成人| 精品久久一二三区| 国产精品99久久久久| 欧美亚洲一区二区在线| 国产亚洲成年网址在线观看| 一区二区日韩av| 国产一区二区三区四区五区美女| 97久久人人超碰| 精品免费国产二区三区| 亚洲精品一卡二卡| 久久99精品一区二区三区| 色婷婷久久一区二区三区麻豆| 日韩免费性生活视频播放| 伊人性伊人情综合网| 国产99久久久精品| 911精品国产一区二区在线| 国产精品久久久久久久蜜臀| 久久成人久久爱| 欧美日韩精品三区| 中文字幕日韩一区| 国产精品一二一区| 日韩一二三四区| 性做久久久久久免费观看| 懂色av一区二区三区免费观看 | 在线视频一区二区三区| 精品国产麻豆免费人成网站| 夜夜亚洲天天久久| 国产精品一区二区三区四区| 欧美日韩黄色一区二区| 亚洲三级在线看| 99久久99久久精品国产片果冻| 久久婷婷成人综合色| 久色婷婷小香蕉久久| 7799精品视频| 日韩激情视频在线观看| 欧美精品久久天天躁| 国产成人精品网址| 久久―日本道色综合久久| 美女视频黄久久| 日韩视频123| 免费欧美在线视频| 欧美一区二区三区性视频| 日韩和欧美一区二区三区| 91精品国产一区二区人妖| 午夜电影一区二区三区| 91麻豆精品国产91久久久更新时间 | 欧美乱妇一区二区三区不卡视频| 国产精品久久久久久亚洲伦| 97精品久久久久中文字幕| 亚洲女女做受ⅹxx高潮| 欧美丝袜丝交足nylons| 亚洲成人动漫精品| 日韩一级在线观看| 国产在线精品免费| 国产精品久久一级| 91免费在线播放| 亚洲成a人v欧美综合天堂下载| 欧美日韩不卡视频| 国产一区二区三区在线观看精品| 久久九九久久九九| 色综合久久久久网| 日韩精品免费专区| 久久久久久**毛片大全| 99精品国产视频| 日本三级韩国三级欧美三级| 亚洲精品一区二区在线观看| jlzzjlzz国产精品久久| 亚洲一区影音先锋| 欧美成人艳星乳罩| 99re成人在线| 激情综合一区二区三区| 亚洲视频狠狠干| 日韩欧美在线影院| www.成人网.com| 日韩电影在线观看电影| 国产色产综合色产在线视频 | 日韩av一区二区三区四区| 久久久精品综合| 色国产综合视频| 精久久久久久久久久久| 国产一区不卡在线| 亚洲午夜电影在线观看| 久久久99精品免费观看不卡| 欧美影片第一页| 国产成人精品免费| 日本免费新一区视频| 中文字幕日韩一区| 国产午夜精品久久久久久久 | 亚洲精品视频在线看| 日韩你懂的电影在线观看| 日本韩国一区二区三区视频| 国产精品123| 精品一区二区综合| 天天亚洲美女在线视频| 成人免费在线视频| 久久久精品免费免费| 日韩欧美精品在线| 欧美日韩在线三级| 91麻豆国产自产在线观看| 国产在线视视频有精品| 午夜电影网一区| 亚洲成人黄色小说| 亚洲欧美日韩久久精品| 亚洲国产成人一区二区三区| 日韩欧美一区在线观看| 欧美性猛交xxxx黑人交| 91最新地址在线播放| 高清av一区二区| 国产一区二区按摩在线观看| 久久精品99久久久| 轻轻草成人在线| 蜜臀久久99精品久久久画质超高清 | 亚洲国产一区二区三区| 综合精品久久久| 国产精品久久久久久久裸模| 久久蜜桃一区二区| 久久九九99视频| 国产视频911| 国产精品久久久久久久久动漫 | 波多野结衣中文字幕一区二区三区| 免费成人在线观看视频| 欧美a级理论片| 看国产成人h片视频| 久草中文综合在线| 国产在线不卡视频| 国产69精品久久久久毛片| 国产成人在线免费观看| 成人h版在线观看| 色综合久久99| 欧美高清dvd| 日韩视频一区二区三区| 精品国内片67194| 国产日韩欧美精品一区| 中文字幕乱码一区二区免费| 亚洲视频免费在线| 亚洲与欧洲av电影| 久久国产三级精品| 成人avav影音| 欧美日韩综合色| 精品不卡在线视频| 亚洲欧美在线aaa| 亚洲国产精品天堂| 麻豆国产精品777777在线| 激情综合色综合久久| 99久久精品国产观看| 精品视频123区在线观看| 精品久久久久久综合日本欧美| 国产精品短视频| 日韩影院精彩在线| 成人一区在线观看| 在线观看www91| 精品美女在线观看| 亚洲欧美另类小说| 久热成人在线视频| 91亚洲精品一区二区乱码| 7777精品久久久大香线蕉| 国产欧美综合色| 日韩成人免费电影| 色综合 综合色| 精品国产精品一区二区夜夜嗨| 中文字幕一区二区日韩精品绯色| 亚洲成a人片在线观看中文| 成人性生交大片免费看视频在线| 欧美日韩成人综合天天影院|