java dom4j xpath删除xml中的所有空节点
java dom4j xpath自动识别xml中的所有空接点,并删除。下面举例说明xpath删除所有空节点
//原始xml <data> <a> </a> <b>b1</b> <awb> <awbpre>123</awbpre> <awbno></awbno> </awb> <spls> <spl /> </spls> </data>
代码
@Test public void testDeleteEmptyNode() throws DocumentException { String xmlOrigin = "<data><a> </a><b>b1</b><awb><awbpre>123</awbpre><awbno></awbno></awb><spls><spl/></spls></data>"; SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new ByteArrayInputStream(xmlOrigin.getBytes())); while (true) { @SuppressWarnings("unchecked") List < Element > list = document.selectNodes("//*[not(node())]"); if (list == null || list.size() <= 0) { break; } for (Element e: list) { System.out.println(e.getName()); e.getParent().remove(e); } } System.out.println(document.asXML()); }
输出内容:
awbno
spl
spls
<?xml version="1.0" encoding="UTF-8"?>
<data><a> </a><b>b1</b><awb><awbpre>123</awbpre></awb></data>
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。