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

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

從 xml 中刪除所有命名空間

從 xml 中刪除所有命名空間

蕭十郎 2022-11-18 16:47:05
有沒有辦法從 xml 中刪除名稱空間(我知道沒有任何名稱沖突)?目前我正在為每個(gè)已知的名稱空間執(zhí)行此操作:s = re.sub(r'(<\/?)md:', r'\1', s)             # remove md: s = re.sub(r'\s+xsi:', ' ', s)                 # remove xsi:但我想知道是否有更通用的東西可以使用。特定 xml 中不允許使用 CDATA。
查看完整描述

1 回答

?
墨色風(fēng)雨

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

您可以通過從 Python 調(diào)用以下 XSLT-1.0 模板來使用 XSLT 方法。它將身份模板與name()將元素的(完整)s轉(zhuǎn)換為local-name()僅 s 的模板相結(jié)合。例如,這意味著所有<ns1:abc>元素都將轉(zhuǎn)換<abc>為 。名稱空間被省略。


但是,這有多大用處取決于您的用例。它減少了信息量,因此請小心處理。


<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="xml" indent="yes"/>


    <xsl:template match="node()|@*">   <!-- Identity template copies all nodes (except for elements, which are handled by the other template) -->

        <xsl:copy>

            <xsl:apply-templates select="node()|@*" />

        </xsl:copy>

    </xsl:template>


    <xsl:template match="*">           <!-- Removes all namespaces from all elements -->

        <xsl:element name="{local-name()}">

            <xsl:apply-templates select="node()|@*" />

        </xsl:element>

    </xsl:template>


</xsl:stylesheet>

將其與 XSLT-1.0(或更高版本)框架/處理器一起應(yīng)用。


查看完整回答
反對 回復(fù) 2022-11-18
  • 1 回答
  • 0 關(guān)注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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