【问题标题】:How to select an element with CDATA without child elements如何使用 CDATA 选择没有子元素的元素
【发布时间】:2014-10-29 21:10:01
【问题描述】:

在一个 XML 文件中,我有一个包含 A lot of text 的元素 <WPG>,其中包括一个带有更多文本的子元素。

<WPG><![CDATA[A lot of text]]>
  <WPL>
    <ADD><profile ref="994042" />
      <Rem><![CDATA[Some more text]]></Rem>
    </ADD>
  </WPL>
</WPG>

当我使用时

<xsl:value-of select="WPG"/>

我得到A lot of text,包括Some more text

如何在不更改 XML 文件本身的情况下仅获取 A lot of text 而没有 Some more text

【问题讨论】:

    标签: xml xslt cdata


    【解决方案1】:
    <xsl:value-of select="WPG/text()"/>
    

    将适用于您的示例 - 但不确定它是否足以涵盖您的所有案例。

    【讨论】:

    • 还可以规范化空格&lt;xsl:value-of select="normalize-space(WPG/text())"/&gt;
    • @DanielHaley 我不知道:也许负载中的空白很重要?
    • 也许;这就是为什么我说“可以”。我想如果 OP 看到你的回答 (+1) 和我的评论,他们可能会自己弄清楚。
    • @DanielHaley 没有争论,只是注意到。
    • @michael.hor257k 感谢您的解决方案。它完美地工作。你拯救了我的一天!
    猜你喜欢
    • 2013-02-04
    • 2011-11-07
    • 1970-01-01
    • 2021-03-30
    • 2010-10-24
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多