java學習

          java學習

           

          XPath解析,寫入,修改xml文件

          public static void test06() {
            InputStream is = null;
            try {
             is = TestStax.class.getClassLoader().getResourceAsStream("books.xml");
             //創建文檔處理對象
             DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
             //通過DocumentBuilder創建doc的文檔對象
             Document doc = db.parse(is);
             //創建XPath
             XPath xpath = XPathFactory.newInstance().newXPath();
             //第一個參數就是xpath,第二參數就是文檔
             NodeList list = (NodeList)xpath.evaluate("http://book[@category='WEB']", doc,XPathConstants.NODESET);
             for(int i=0;i<list.getLength();i++) {
              //遍歷輸出相應的結果
              Element e = (Element)list.item(i);
              System.out.println(e.getElementsByTagName("title").item(0).getTextContent());
             }
            } catch (ParserConfigurationException e) {
             e.printStackTrace();
            } catch (SAXException e) {
             e.printStackTrace();
            } catch (IOException e) {
             e.printStackTrace();
            } catch (XPathExpressionException e) {
             e.printStackTrace();
            } finally {
             try {
              if(is!=null) is.close();
             } catch (IOException e) {
              e.printStackTrace();
             }
            }
           }
           
           @Test
           public static void test07() {
            try {
             XMLStreamWriter xsw = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
             xsw.writeStartDocument("UTF-8","1.0");
             xsw.writeEndDocument();
             String ns = "http://11:dd";
             xsw.writeStartElement("nsadfsadf","person",ns);
             xsw.writeStartElement(ns,"id");
             xsw.writeCharacters("1");
             xsw.writeEndElement();
             xsw.writeEndElement();
             xsw.flush();
             xsw.close();
            } catch (XMLStreamException e) {
             e.printStackTrace();
            } catch (FactoryConfigurationError e) {
             e.printStackTrace();
            }
           }
           
           @Test
           public static void test08() {
            InputStream is = null;
            try {
             is = TestStax.class.getClassLoader().getResourceAsStream("books.xml");
             //創建文檔處理對象
             DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
             //通過DocumentBuilder創建doc的文檔對象
             Document doc = db.parse(is);
             //創建XPath
             XPath xpath = XPathFactory.newInstance().newXPath();
             Transformer tran = TransformerFactory.newInstance().newTransformer();
             tran.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
             tran.setOutputProperty(OutputKeys.INDENT, "yes");
             //第一個參數就是xpath,第二參數就是文檔
             NodeList list = (NodeList)xpath.evaluate("http://book[title='Learning XML']", doc,XPathConstants.NODESET);
             //獲取price節點
             Element be = (Element)list.item(0);
             Element e = (Element)(be.getElementsByTagName("price").item(0));
             e.setTextContent("333.9");
             Result result = new StreamResult(System.out);
             //通過tranformer修改節點
             tran.transform(new DOMSource(doc), result);
            } catch (ParserConfigurationException e) {
             e.printStackTrace();
            } catch (SAXException e) {
             e.printStackTrace();
            } catch (IOException e) {
             e.printStackTrace();
            } catch (XPathExpressionException e) {
             e.printStackTrace();
            } catch (TransformerConfigurationException e) {
             e.printStackTrace();
            } catch (TransformerFactoryConfigurationError e) {
             e.printStackTrace();
            } catch (TransformerException e) {
             e.printStackTrace();
            } finally {
             try {
              if(is!=null) is.close();
             } catch (IOException e) {
              e.printStackTrace();
             }
            }
           }

          posted on 2013-08-07 13:54 楊軍威 閱讀(2859) 評論(1)  編輯  收藏

          評論

          # re: XPath解析,寫入,修改xm為l文件 2014-12-22 17:48 sds

          xzxzx  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 噶尔县| 任丘市| 咸阳市| 满洲里市| 东明县| 徐闻县| 正阳县| 米脂县| 上栗县| 镇康县| 磴口县| 仁布县| 林芝县| 金阳县| 肃南| 鄂尔多斯市| 繁昌县| 寿宁县| 梧州市| 林州市| 武山县| 东乌| 武功县| 南阳市| 手游| 日照市| 文登市| 宜兰市| 疏附县| 晋宁县| 广州市| 桐乡市| 贵德县| 镇平县| 读书| 鄂托克旗| 西峡县| 桃园市| 山西省| 小金县| 肃北|