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

📄 traversedoc.java

📁 JAVA内嵌XML代码的几个小程序
💻 JAVA
字号:
package xmlp;import org.w3c.dom.Document;import org.w3c.dom.Node;import static java.lang.System.*;import org.w3c.dom.NodeList;import org.w3c.dom.Element;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Attr;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import java.io.IOException;import javax.xml.parsers.*;import org.xml.sax.SAXException;public class TraverseDoc {    Document doc;    public TraverseDoc(Document doc) {        this.doc=doc;    }    public void traverse(){        output(doc,"");    }    public void output(Node n,String indent){        short type=n.getNodeType();        switch(type){          case Node.DOCUMENT_NODE:             out.print("<?xml version='1.0'?>");             Document doc=(Document)n;             NodeList nl=doc.getChildNodes();             if(nl !=null){                 int len=nl.getLength();                 for(int i=0;i<len;i++){                     output(nl.item(i),"");                 }             }break;           case Node.ELEMENT_NODE:               Element e=(Element)n;               out.print("<"+e.getNodeName());               NamedNodeMap attrs=e.getAttributes();               if(attrs !=null){                   int len=attrs.getLength();                   for(int i=0;i<len;i++){                       output(attrs.item(i),"");                   }               }               out.print(">");               NodeList enl=e.getChildNodes();               if(enl !=null){                   int len=enl.getLength();                   indent +=" ";                 for(int i=0;i<len;i++){                     output(enl.item(i),indent);                 }               }               out.print("</"+ e.getNodeName()+">");               break;             case Node.ATTRIBUTE_NODE:                 Attr atr=(Attr)n;                 out.print(" "+ atr.getName()+"='" +atr.getNodeValue()+"'");                 break;             case Node.TEXT_NODE:                 out.print(n.getNodeValue());        }    }    public static void main(String... args){       try{           DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();           dbf.setValidating(true);           dbf.setNamespaceAware(true);           DocumentBuilder db = null;           db = dbf.newDocumentBuilder();           Document doc=db.parse(args[0]);           TraverseDoc td=new TraverseDoc(doc);           td.traverse();       }catch(IOException e){           e.printStackTrace();       } catch (ParserConfigurationException ex) {           ex.printStackTrace();      } catch (SAXException ex) {            ex.printStackTrace();        }    }}

⌨️ 快捷键说明

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