• 解析xml


    package Xmll;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.FactoryConfigurationError;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;

    /**
     *    解析xml
     *
     * @author Administrator
     *
     */
    public class Xml {
        public Document document;

        // 获得Document对象
        public void getDocument() throws Exception {
            // 获取解析器工厂
            // 获得
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

            // 根据工厂获得解析器
            DocumentBuilder builder = factory.newDocumentBuilder();
            // 根据解析器获得Document
            document = builder.parse("user.xml");
        }

        // 获取银行所有账户的id及姓名
        public void showInfo() {
            // 获取所有的<user>
            NodeList users = document.getElementsByTagName("user");
            // 获取每个<user>的id
            for (int i = 0; i < users.getLength(); i++) {
                Node userNode = users.item(i);
                Element userEle=(Element)userNode;
                System.out.print(userEle.getAttribute("id")+"--");
                
                //获取每个<user>里面的子节点,找到其中的<name>
            NodeList userChilds=userNode.getChildNodes();
            for (int j = 0; j <userChilds.getLength(); j++) {
                Node child=userChilds.item(j);
                if(child.getNodeType()==Node.ELEMENT_NODE&&child.getNodeName().equals("name")){
                Element nameEle=(Element)child;
                System.out.println(nameEle.getTextContent());
                }
            }
            }
            

        }
    //保存XML文件
        public void saveXml(String path){
            TransformerFactory tf=TransformerFactory.newInstance();
            tf.setAttribute("indent-number", 4);
        //    Transformer tf1=factory.
        }
        // 增加一个银行账户
        public void addUser() {
            Element user=document.createElement("user");
            user.setAttribute("id", "u4");
            Element name=document.createElement("name");
            name.setTextContent("王五");
            Element cardID=document.createElement("cardID");
            name.setTextContent("5522552");
            Element money=document.createElement(" money");
            name.setTextContent(" money");
            user.appendChild(name);
            user.appendChild(cardID);
            user.appendChild(money);
            
            document.getElementsByTagName("users").item(0).appendChild(user);

        }

        // 将所有的银行账户id修改
        public void updateUser() {

        }

        // 删除某个账户信息
        public void deleteUser() {

        }
        //
        public static void main(String[] args) throws Exception{
            Xml bk=new Xml();
            bk.getDocument();
            bk.addUser();
            bk.showInfo();
        }
    }


  • 相关阅读:
    C#第十六节课
    Hadoop系列(三):hadoop基本测试
    Hadoop系列(二):Hadoop单节点部署
    Hadoop系列(一):Hadoop集群搭建
    Stars project
    Tornado实现多进程/多线程的HTTP服务
    python paramiko模块
    爬虫代理
    tornado之用户验证装饰器
    tornado自定义session
  • 原文地址:https://www.cnblogs.com/anshuo/p/5384666.html
Copyright © 2020-2023  润新知