2 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以像這樣遞歸地遍歷和重命名 DOM 元素:
private static void renameElement(Document document, Element element) {
document.renameNode(element, null, element.getNodeName().replace(':', '-'));
NodeList children = element.getChildNodes();
for(int i = 0; i < children.getLength(); i++) {
Node child = children.item(i);
if (child instanceof Element) {
renameElement(document, (Element) child);
}
}
}
從根元素開始遞歸:
renameElement(document, document.getDocumentElement());
但是,您應(yīng)該考慮是否真的要破壞XML 命名空間格式良好的一致性。好的,它仍然是一致的,但你失去了元素命名空間綁定。

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
你總是可以回到痛苦的舊文本處理,你知道。只需搜索和替換正則表達(dá)式模式。搜索
<([^:]*):(.*)>
并替換<$1-$2>
為起始標(biāo)簽。
如果您必須在 java 中執(zhí)行此操作,則有java.util.regex 包。但是sed用于此類任務(wù)。
添加回答
舉報(bào)