[英]Remove empty namespace in java using DOM
<Request>
<EMPId>?</EMPId>
</Request>
我知道這是一個重復的問題,但是我想再次發帖,因為我從所經歷的任何線程中都得到了令人信服的答復。
我的最終目標是添加上面給出的XML作為SOAP消息的主體內容。 您可以查看以下鏈接,了解我的工作方式。 創建SOAP請求時與命名空間有關的錯誤當我使用Websphere Application Server 7.0庫時,它工作正常。JRE也存在,但忘記包含在屏幕快照中。
由於我必須將其導出為jar並作為獨立的應用程序運行,因此我必須刪除對“ Websphere Application Server 7.0庫”的依賴。 因為,通過保留此庫,我的jar大小將超過100MB。 所以我想只帶上我需要的圖書館。
'com.ibm.ws.prereq.soap.jar'
現在的問題是,生成的SOAP請求的Request標簽以以下格式出現。
<Request xmlns="">
<EMPId>?</EMPId>
</Request>
我能夠為生成的SOAP消息創建一個“ org.w3c.dom.Document”表示形式。 現在,有人可以告訴我如何從Request標記中刪除xmlns =“”。
我發現的最簡單的方法是:
第一:在子節點中將nasmespace設置為與根用戶相同:第二:移除名稱空間
Document doc = new Document();
Namespace xmlns = Namespace.getNamespace("http://www.microsoft.com/networking/WLAN/profile/v1");
Element rootXML = new Element("WLANProfile", xmlns);
Element nameXML = new Element("name");
nameXML.addContent(name);
rootXML.addContent(nameXML);
//below solution
nameXML.setNamespace(xmlns);
nameXML.removeNamespaceDeclaration(xmlns);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.