亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

java:利用xpath刪除xml中的空節點

標簽:
Java

java:利用xpath删除xml中的空节点

原始xml内容:


 1 <data> 
 2   <a> </a> 
 3   <b>b1</b> 
 4   <awb> 
 5     <awbpre>123</awbpre> 
 6     <awbno></awbno> 
 7   </awb> 
 8   <spls> 
 9     <spl />
 10   </spls>11 </data>


可用下面的代码去掉 <awbno></awbno>、<spls><spl/></spls>这二个空节点 (注<a> </a>中间有一个空格,不算空节点)


 1     @Test 
 2     public void testDeleteEmptyNode() throws DocumentException { 
 3         String xmlOrigin = "<data><a> </a><b>b1</b><awb><awbpre>123</awbpre><awbno></awbno></awb><spls><spl/></spls></data>"; 
 4         SAXReader saxReader = new SAXReader(); 
 5         Document document = saxReader.read(new ByteArrayInputStream(xmlOrigin 
 6                 .getBytes())); 
 7  
 8         while (true) { 
 9             @SuppressWarnings("unchecked")
 10             List<Element> list = document.selectNodes("http://*[not(node())]");
 11             if (list == null || list.size() <= 0) {
 12                 break;
 13             }
 14             for (Element e : list) {
 15                 System.out.println(e.getName());
 16                 e.getParent().remove(e);
 17             }
 18         }
 19         System.out.println(document.asXML());
 20 
 21     }


以上代码使用了dom4j

 

输出内容:

awbno
spl
spls
<?xml version="1.0" encoding="UTF-8"?>
<data><a> </a><b>b1</b><awb><awbpre>123</awbpre></awb></data>

即:


1 <data>
2   <a> </a>
3   <b>b1</b>
4   <awb>
5     <awbpre>123</awbpre>
6   </awb>
7 </data>
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消