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

📄 xmliterate.java~8~

📁 java_structs java web j架构分析java_structs java web j架构分析
💻 JAVA~8~
字号:
package xmlparse;

//必须导入的package
import org.w3c.dom.*; //dom树的对象
import javax.xml.parsers.*; //解析器
import java.io.*; //文件的io

public class XmlIterate {

    public static void printChild(Node nd,int level){
        String s = " ";
        for(int i=0;i<2 * level;i++){
            s += " ";
        }
        if(nd.hasChildNodes()) {//含有子节点
            NodeList nl = nd.getChildNodes();
            for(int i=0;i<nl.getLength();i++){
                //显示每个节点的值
                Node n = nl.item(i);
                if(n.getNodeType() == Node.TEXT_NODE){//文本
                    String a = n.getNodeValue();
                    if(!a.trim().equals("")) {
                        System.out.println(s + n.getNodeValue());
                    }
                }
                if(n.getNodeType()==Node.ELEMENT_NODE){//元素
                    System.out.print(s + n.getNodeName());
                    //显示属性
                    NamedNodeMap nm = n.getAttributes();
                    for(int j=0;j<nm.getLength();j++){
                        System.out.print(" " + nm.item(j).getNodeName()+"=");
                        System.out.print(nm.item(j).getNodeValue());
                    }
                    System.out.println();
                }


                //继续调用printChild()
                printChild(n,level+1);
            }


        }

    }

    public static void main(String[] args) throws Exception{
        //1.生成XML解析器的工厂类
        javax.xml.parsers.DocumentBuilderFactory dbf
                = javax.xml.parsers.DocumentBuilderFactory.newInstance();
        //2. 生成一个解析器的类
        javax.xml.parsers.DocumentBuilder db
                = dbf.newDocumentBuilder();

        //3.解析XML成为DoM树
        Document doc = db.parse(new File("f:/order.xml"));

        //遍历order.xml文件
        //得到文档解析后的第一个节点
        Node nd = doc.getFirstChild();
        //访问同一层次的节点
        for(;nd!=null;nd=nd.getNextSibling()){
            System.out.println(nd.getNodeName());
            //显示nd节点下的树的结构
            printChild(nd,1);
        }
    }
}

⌨️ 快捷键说明

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