当前位置: 首页 > 面试题库 >

XSLT之后如何保留空的XML标签-防止折叠它们 ****至 ****

龚振
2023-03-14
问题内容

假设我有一个非常简单的XML,带有空标记“ B”:

<Root>
  <A>foo</A>
  <B></B>
  <C>bar</C>
</Root>

我目前正在使用XSLT删除一些标签,例如’C’:

<?xml version="1.0" ?>

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

<xsl:output method="xml" indent="no" encoding="utf-8" omit-xml-declaration="yes" />

<xsl:template match="*">
    <xsl:copy>
        <xsl:copy-of select="@*" />
        <xsl:apply-templates />
    </xsl:copy>
</xsl:template>

<xsl:template match="C" />

</xsl:stylesheet>

到目前为止,还可以,但是问题是我最终得到了这样的输出:

<Root>
  <A>foo</A>
  <B/>
</Root>

当我真正想要的时候:

<Root>
  <A>foo</A>
  <B></B>
</Root>

有没有办法防止“ B”崩溃?

谢谢。


问题答案:

好的,这对我有用:

<xsl:output method="html">


 类似资料:
  • 使用: 随着项目Cheesesquare的更新。 进入奶酪的细节,我移除2张牌(只有一张)。有没有办法防止显示空白的工具栏折叠?

  • 以下是postgres 9.1数据库的一些SQL示例: 这是我的python脚本: 有没有办法防止标签相互重叠?理想情况下是以自动方式,因为我无法预测棒的数量。

  • 问题内容: 我使用Java(6)XML-Api在Web上的html文档上应用xslt转换。本文档的格式正确,是xhtml,因此包含有效的DTD- Spec()。现在出现一个问题:Uppon转换XSLT- Processor尝试下载DTD,而w3-server则由于HTTP 503错误(由于w3的带宽限制)而拒绝了它。 如何防止XSLT处理器下载dtd? 我不需要我的输入文档经过验证。 来源是: -

  • 假设我有以下简单的。 子菜单展开后,即使在页面刷新后,也应该保持展开,直到显式折叠为止。 类似地,稍后,如果子菜单被折叠,则应该保持折叠,直到页面重新加载/刷新后显式展开。这可能吗? 如果的第一个子菜单是折叠的,则以下脚本将展开该子菜单。

  • 我已经搜索了一整天,没有找到一个解决方案,所以我希望我不会看起来像一个白痴时,在2分钟内有人将一个回答的链接,为确切的问题。 我正在尝试创建一个像在steamdb上那样的navbar,在navbar折叠后搜索框仍然保留,并且只是减小了尺寸。 但是我遇到了一个问题,如果我将navbar设置为,那么当它折叠时,它会分裂成3行,一行用于品牌,一行用于搜索,一行用于切换下拉列表。 如果我移除“-lg”,那

  • 问题内容: 我已经在Jquery中完成了此操作,但希望在Javascript中实现而不依赖任何库。 问题答案: 以下代码应该执行与您的函数完全相同的操作。 不过,我要指出的是,如果是包裹在任何元素,你只得到的的该元素,因此,如果它是一个简单的标签,你会只换行文本节点内与(那是什么,顺便说一下? )。 你也有一个bug,你是分配text到node.textContent ? node.textCon