分類  >  Web前端 >

解析帶有命名空間有關問題web.xml

tags:    時間:2013-12-10 00:12:07
解析帶有命名空間問題web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 	<filter>     	    <filter-name>Filtername</filter-name>     	    <filter-class>com.filter.Filtername</filter-class>   	</filter> </web-app>

解析過這樣的web.xml根節點是帶有命名名空間的,本來是想把xml裡面的部分節點解析出來然後在增加到另一個web.xml當中

但是增加完后就發現多了東西,就拿上面的filter為例


<filter xmlns="http://java.sun.com/xml/ns/javaee">     	    <filter-name>Filtername</filter-name>     	    <filter-class>com.filter.Filtername</filter-class>   	</filter>

增加的時候節點調用element.detach();去掉原來根節點,命名空間就顯示在了下一級節點上,
下面用了個遞歸去掉了命名空間

public void deleteNamespace(Element ele){ 		Element element = ele.setNamespace(null); 		List childrenList = element.getChildren(); 		if(childrenList.size() > 0) { 			for(int i = 0; i < childrenList.size(); i++) { 				deleteNamespace((Element) childrenList.get(i)); 			} 		}  	}


可以把filter節點傳進去
其他方法暫時沒有想到,節點有個ele.removeNamespaceDeclaration(additionalNamespace)試了下不行,不知道是不是用的不對。

推薦閱讀文章

Bookmark the permalink ,來源:互聯網