在XSL中使用条件

时间:2014-01-16 21:43:26

标签: xml xslt xml-parsing

我正在使用一些XML文件,在某些情况下, HName 节点在某些文件中可用,而其他文件中缺少。以下是两个例子:

Xml#1:

<HSegment>
<Code>ABC</Code> 
</HSegment>

Xml#2:

<HSegment>
<Code>ABC</Code> 
<HName>JW BEACH</HName>  
</HSegment>

我正在尝试使用两个条件来解析xml文件:

  1. 处理数据字段中的值(如果可用)。
  2. 如果不可用,则插入“NULL”。
  3. 我正在使用的XSL代码为这两种情况添加了“NULL”:

    <Des>
    <xsl:choose>
    <xsl:when test="//PNR/SList/HSegment/HName='HName'">
    </xsl:when>
    <xsl:otherwise>
    <xsl:text>NULL</xsl:text> 
    </xsl:otherwise>
    </xsl:choose>
    </Des>
    

    提前致谢!

1 个答案:

答案 0 :(得分:1)

将状态检查修改为如下所示:

//PNR/SList/HSegment/HName

在上下文中:

<xsl:choose>
    <xsl:when test="//PNR/SList/HSegment/HName">
        <!-- do whatever -->
    </xsl:when>
    <xsl:otherwise>
        <xsl:text>NULL</xsl:text> 
    </xsl:otherwise>
</xsl:choose>