Namespace ns2 = new Namespace("ns1","http://ns.chinatrust.com.tw/XSD/CTCB/ESB/Message/EMF/ServiceBody"); ((Element)nodeB).add(ns2);
修改:
Namespace ns2 = new Namespace("ns1","http://ns.chinatrust.com.tw/XSD/CTCB/ESB/Message/EMF/ServiceBody"); QName newQName = new QName(nodeB.getName(), ns2); ((Element)nodeB).setQName(newQName);
刪除:
for(Namespace e : ((Element)nodeE).declaredNamespaces()){ ((Element)nodeE).remove(e); }
需注意的是,刪除,仍會保留當前使用的該namespace的定義,例如原有XML如下:
<ns0:ServiceEnvelope xmlns:ns0="http://ns.chinatrust.com.tw/XSD/CTCB/ESB/Message/EMF/ServiceEnvelope" xmlns:ns2="http://ns.chinatrust.com.tw/XSD/CTCB/ESB/Message/BSMF/ccMrchntProfileInqRq/01" xmlns:ns1="http://ns.chinatrust.com.tw/XSD/CTCB/ESB/Message/EMF/ServiceHeader">
</ns0:ServiceEnvelope >
但因為ServiceEnvelope本身是在ns0之下,因此就算執行了刪除,還是會保留住ns0的定義如下:
<ns0:ServiceEnvelope xmlns:ns0="http://ns.chinatrust.com.tw/XSD/CTCB/ESB/Message/EMF/ServiceEnvelope"></ns0:ServiceEnvelope >
沒有留言:
張貼留言