zoukankan      html  css  js  c++  java
  • xml 操作

    /////////////////////////////////jaxp对xml文档进行解析///////////////////////////////////////////

    要操作的xml文件

    <?xml version="1.0" encoding="GB2312" standalone="no"?><PhoneInfo>
        <Brand name="华为">
            <Type name="U8650"/><Type name="HW123"/>
            <Type name="HW321"/>
        </Brand>
        <Brand name="苹果">
        <Type name="iPhone4"/>
        </Brand>
        <Brand name="vivo">
            <Type name="nb"/>
        </Brand>
    </PhoneInfo>

    //////////////////////////////////////////////////////////////////////////////////////////////////

    package xinhuiji_day15;

    import java.io.File;
    import java.io.IOException;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;

    public class xmlTest {

        /**
         * @param args
         * @throws ParserConfigurationException
         * @throws IOException
         * @throws SAXException
         * @throws TransformerException
         */
        public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException {
    //        test3();
    //        findId("3");
            addNode();
        }
      //查找节点的内容
        public static void test3() throws ParserConfigurationException,
                SAXException, IOException {
            DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = daoFactory.newDocumentBuilder();
            Document doc = builder.parse("src/网易手机各地行情.xml");
            NodeList nodeList = doc.getElementsByTagName("pubDate");
            for(int i = 0;i<nodeList.getLength();i++){
                Element e = (Element) nodeList.item(i);
                System.out.println(e.getFirstChild().getNodeValue());
            }
        }
        
        public void test() throws ParserConfigurationException, SAXException, IOException{
            DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = daoFactory.newDocumentBuilder();
            Document doc = builder.parse("src/收藏信息.xml");
            NodeList nodeList = doc.getElementsByTagName("Brand");
            for(int i = 0;i<nodeList.getLength();i++){
                Element e = (Element) nodeList.item(i);
    //            System.out.println(e.getFirstChild().getNodeValue());
                System.out.println(e.getTagName());
                System.out.println(e.getAttribute("name"));
                NodeList nod = e.getElementsByTagName("Type");
                for(int j = 0;j<nod.getLength();j++){
                    Element ne = (Element) nod.item(j);
                    System.out.println(" "+ne.getAttribute("name"));
                }
            }
        }
        
        public static void findId(String id) throws ParserConfigurationException, SAXException, IOException{
            DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = daoFactory.newDocumentBuilder();
            Document doc = builder.parse("src/网易手机各地行情.xml");
            NodeList nodeList = doc.getElementsByTagName("item");
            for(int i = 0;i<nodeList.getLength();i++){
                Element e = (Element) nodeList.item(i);
                String xmlId = e.getAttribute("id");
                if(xmlId.equals(id)){
                    System.out.println(e.getElementsByTagName("title").item(0)
                            .getFirstChild().getNodeValue());
                }
            }
        }
        //增加节点
        public static void addNode() throws ParserConfigurationException, SAXException, IOException, TransformerException{
            DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = daoFactory.newDocumentBuilder();
            Document doc = builder.parse("src/收藏信息.xml");
            Element brandElement = doc.createElement("Brand");
            brandElement.setAttribute("name", "vivo");
            Element typeElement = doc.createElement("Type");
            typeElement.setAttribute("name", "nb");
            Element rootElement = (Element) doc.getElementsByTagName("PhoneInfo").item(0);
            brandElement.appendChild(typeElement);
            rootElement.appendChild(brandElement);
            //向xml文件中写
            TransformerFactory tff = TransformerFactory.newInstance();
            Transformer ts = tff.newTransformer();
            DOMSource source = new DOMSource(doc);
            ts.setOutputProperty(OutputKeys.ENCODING, "gb2312");
            StreamResult result = new StreamResult(new File("src/收藏信息.xml"));
            ts.transform(source, result);
            
            
        }

    }

  • 相关阅读:
    SDOI2008 沙拉公主的困惑
    HNOI2004 L语言
    SDOI2008 sue的小球
    HNOI2011 XOR和路径
    BJWC2011 元素
    CQOI2013 新nim游戏
    HNOI2007 紧急疏散
    sublime text 3将px换算为rem的插件的安装及使用
    移动端知识
    登录拦截逻辑
  • 原文地址:https://www.cnblogs.com/siashan/p/3880464.html
Copyright © 2011-2022 走看看