确定后续兄弟是否包含具有相同值的节点

时间:2012-12-06 17:50:48

标签: xml xslt xpath

我确信这应该非常简单 - 但我在上下文方面遇到了麻烦!

示例XML:

<test>
<HtlSeg>
    <SegNum>1</SegNum>
    <StartDt>20130624</StartDt>
    <NumNights>2</NumNights>
    <Conf>28618</Conf>
</HtlSeg>
<CommentInfo>
    <CommentNum>1</CommentNum>
    <SegMatch>28618</SegMatch>
    <Comment>THIS IS A TEST</Comment>
</CommentInfo>
<CommentInfo>
    <CommentNum>2</CommentNum>
    <SegMatch>28618</SegMatch>
    <Comment>HOTEL BOOKED</Comment>
</CommentInfo>
<CommentInfo>
    <CommentNum>3</CommentNum>
    <SegMatch>28618</SegMatch>
    <Comment>NON REFUNDABLE</Comment>
</CommentInfo>
<CommentInfo>
    <CommentNum>4</CommentNum>
    <SegMatch>1459</SegMatch>
    <Comment>CAR BOOKING</Comment>
</CommentInfo>
<CommentInfo>
    <CommentNum>5</CommentNum>
    <SegMatch>1528</SegMatch>
    <Comment>AIR BOOKING</Comment>
</CommentInfo>
<CommentInfo>
    <CommentNum>6</CommentNum>
    <SegMatch>1528</SegMatch>
    <Comment>NON REFUNDABLE</Comment>
</CommentInfo>
<CommentInfo>
    <CommentNum>7</CommentNum>
    <SegMatch>1528</SegMatch>
    <Comment>NON SMOKING</Comment>
</CommentInfo>

在XSLT中,我的上下文节点是<HtlSeg>

我正在尝试访问<CommentInfo>节点,<SegMatch>节点等于<Conf>的{​​{1}}节点。

我尝试过的xpath是<HotelSeg>

然而,不会返回任何东西。我认为在xpath中使用`Conf'时我已经失去了following-sibling::CommentInfo[SegMatch=Conf]/Comment的上下文 - 但我确定这必须可以在一个简单的Xpath中实现,而不必声明变量吗?

干杯 达伦

1 个答案:

答案 0 :(得分:2)

使用current() method

[SegMatch=current()/Conf]