如何使用xslt 1.0删除特定匹配的元素

苏舍尔·辛格

的HTML:

<div class="ls-col" id="ls-row-2-col-2">
    <div class="ls-col-body" id="ls-gen79493564-ls-col-body">
        <div class="ls-row" id="ls-row-2-col-2-row-1">
            <div class="ls-fxr" id="ls-gen79493565-ls-fxr">
                <div class="ls-area" id="ls-row-2-col-2-row-1-area-1">
                    <div class="ls-area-body" id="ls-gen79493566-ls-area-body">
                        <div class="grid-container">
                            <div class="grid-100">
                                <div class="intro_content slide_content grid-40">
                                    <div class="current"></div>
                                    <div class="next"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>  
</div>

预期:

<div class="ls-col">       
    <div class="ls-row">              
        <div class="ls-area">                        
            <div class="grid-container">
                <div class="grid-100">
                    <div class="intro_content slide_content grid-40">
                        <div class="current"></div>
                        <div class="next"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

我想删除包含以下类的div

  1. ls-col-body
  2. ls-area-body
  3. ls行体
  4. ls-fxr
  5. 只需删除所有以ls-开头的id属性,而不是div仅id属性。

我尝试过这种匹配方式。但不知道如何删除它

   <xsl:template match="div[contains(@class,'ls-col-body')]">      
      <xsl:apply-templates select="container"/> <!-- some template -->
   </xsl:template>
Lingamurthy CS

试试这个XSLT:

第一个模板用于复制节点和属性。第二个删除具有特定值的div,第三个删除以ls开头的id属性

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

<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>

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

<xsl:template match="div[@class='ls-col-body' or @class='ls-area-body' or @class='ls-row-body']">
    <xsl:apply-templates />
</xsl:template>

<xsl:template match="@id[starts-with(.,'ls-')]"/>
</xsl:stylesheet>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用XSLT匹配元素并输出HTML?

来自分类Dev

如何使用xslt删除重复的根元素

来自分类Dev

从文件1中删除与文件2中特定列中的元素匹配的行

来自分类Dev

模板匹配 XSLT1 根据日期跳过子元素

来自分类Dev

如何使用XSLT添加子元素?

来自分类Dev

如何使用xslt转换嵌套的XML元素?

来自分类Dev

如何使用 xslt 移动 xml 元素?

来自分类Dev

如何使用 xslt 插入/替换元素

来自分类Dev

如何使用 xslt 添加根元素?

来自分类Dev

如何使用XSLT选择或删除节点xml

来自分类Dev

如何使用xslt计算特定节点

来自分类Dev

使用 XSLT 如何复制特定的 XML 子树

来自分类Dev

如何使用XSLT在日期中增加1天

来自分类Dev

如何使用XSLT-1从格式文本中分离标签?

来自分类Dev

如何使用XSLT转换/翻译/替换'[AZ]','[1-26]'

来自分类Dev

如何使用XSLT在日期中增加1天

来自分类Dev

xml使用xslt删除元素

来自分类Dev

如何删除矩阵的特定元素?

来自分类Dev

如何使用XSLT复制XML元素(每个元素的根除外)

来自分类Dev

使用 XSLT 复制具有至少 1 个子元素的所有元素

来自分类Dev

如何解决“ [xslt]找不到匹配的1参数函数”的异常?

来自分类Dev

XSLT-如何使用模板匹配有条件地对元素进行分组

来自分类Dev

如何使用XSLT 1.0比较两个逗号分隔的列表并删除匹配的值

来自分类Dev

如何使用xslt 1.0进行模板不匹配

来自分类Dev

使用XSLT1,如何简单地分配以1开头的增量值?

来自分类Dev

如何删除数组的匹配元素

来自分类Dev

如何匹配和删除队列中的元素?

来自分类Dev

XSLT。如何对1个元素进行2次更改?订购和重命名

来自分类Dev

XSLT-如何删除重复的空元素?

Related 相关文章

热门标签

归档