第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Java 中重命名所有 XML 標(biāo)記名稱

在 Java 中重命名所有 XML 標(biāo)記名稱

森林海 2021-09-12 16:07:03
我有一個(gè)帶有這樣前綴的 XML 文件:<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr></h:table><f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length></f:table>我想重命名移動(dòng)冒號(hào)的前綴以支持破折號(hào),因此:<h-table> <h-tr> <h-td>Apples</h:td> <h-td>Bananas</h:td> </h-tr></h-table><f-table> <f-name>African Coffee Table</f:name> <f-width>80</f:width> <f-length>120</f:length></f-table>使用 DOM 解析器我知道可以按名稱獲取元素,但在我的情況下,我需要將它們?nèi)繎?yīng)用重命名,因?yàn)槟J绞冀K相同?,F(xiàn)在我不得不無數(shù)次寫這個(gè)函數(shù),因?yàn)橐粋€(gè)只是為了一個(gè)標(biāo)簽:  NodeList nodes = document.getElementsByTagName("h:table");   for (Node eachNode: nodes) {  document.renameNode(eachNode, null, "h-table");  }是否可以使用更通用的方法?
查看完整描述

2 回答

?
墨色風(fēng)雨

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 命名空間格式良好的一致性。好的,它仍然是一致的,但你失去了元素命名空間綁定。


查看完整回答
反對(duì) 回復(fù) 2021-09-12
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

你總是可以回到痛苦的舊文本處理,你知道。只需搜索和替換正則表達(dá)式模式。搜索

<([^:]*):(.*)>

并替換<$1-$2>為起始標(biāo)簽。

如果您必須在 java 中執(zhí)行此操作,則有java.util.regex 包。但是sed用于此類任務(wù)。


查看完整回答
反對(duì) 回復(fù) 2021-09-12
  • 2 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)