我正在从XML文件创建一个Dom(org.w3c.dom.Document)文档.我想从该文档中删除所有命名空间以调用其他一些服务.该服务期望XML没有名称空间.
public Document cleanNameSpace(Document doc) {
NodeList list = doc.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
removeNamSpace(list.item(i), "");
}
return doc;
}
private void removeNamSpace(Node node, String nameSpaceURI) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
Document ownerDoc = node.getOwnerDocument();
NamedNodeMap map = node.getAttributes();
Node n;
for (!(0==map.getLength())) {
n = map.item(0);
map.removeNamedItemNS(n.getNamespaceURI(), n.getLocalName());
}
ownerDoc.renameNode(node, nameSpaceURI, node.getLocalName());
}
NodeList list = node.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
removeNamSpace(list.item(i), nameSpaceURI);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3456 次 |
| 最近记录: |