2011-09-29 30 views
5

Tôi hiện đang sử dụng xpath để kiểm tra nút của nút cha của anh chị em ngay sau nút (chú hoặc kiến).Làm thế nào để kiểm tra các anh chị em sau đây của cha mẹ trong xpath

xml của tôi trông giống như

<MyParent> 
<A> 
<B> 
<C> 
</MyParent> 

<Uncle> 
.. 
</Uncle> 

Bây giờ tôi đang trong template match cho nút con B, và tôi muốn kiểm tra nếu immeididate sau-anh chị em của mẹ tôi được gọi là "Bác",

tôi đã cố gắng hai XPath sau:

<xsl:if test="parent::MyParent/following-sibling::*[1][self::Uncle]"> 
    <xsl:text>we have it</xsl:text>   
</xsl:if> 

<xsl:if test="parent::MyParent[following-sibling::*[1][self::Uncle]]"> 
    <xsl:text>we have it</xsl:text>   
</xsl:if> 

cả hai đều không hoạt động, các chuyên gia có thể giúp gỡ lỗi nơi tôi đã phạm sai lầm không? Cảm ơn :).

+2

Mã của bạn có vẻ chính xác. Có lẽ nó không chạy trong bối cảnh bạn nghĩ nó là? Có lẽ bạn có thể chia sẻ nhiều kịch bản của bạn hơn để chúng tôi có thể kiểm tra. –

+0

@_Robert: Nếu mã của bạn không tạo ra kết quả mong muốn, nhưng câu trả lời được chấp nhận, điều này có nghĩa là bạn có vấn đề về không gian tên (mặc định). –

Trả lời

14

Hãy thử điều này.

../following-sibling::*[position()=1][name()='Uncle'] 
Các vấn đề liên quan