我的XML结构看起来像这样
<COMPANY>
<COMPANY-DATA>ABC</COMPANY-DATA>
<ID>10800</ISSUE-ID>
<PROJECT-ID/>
</COMPANY-ISSUE-INFO>
</COMPANY>
"COMPANY Node repeats"
我想做的是我想要检查COMPANY-DATA ='ABC'并获取其ID
我尝试使用
<xsl:value-of select="//COMPANY-DATA/.='ABC'/following-sibling::ID/."/>
但这似乎不起作用并抛出错误
表达式必须评估为节点集 //COMPANY-DATA/.= - &gt;'ABC'&lt; - /以下同胞:: ID /.
谢谢,
KARTHIK
编辑:我找到了解决方案
**<xsl:value-of select="//COMPANY-DATA[.='ABC']/following-sibling::ID/."/>**
由于
答案 0 :(得分:1)
我注意到的第一件事是,你剪断了你的后缀是没有效的XML。元素<ID>
由结束元素</ISSUED_ID>
关闭,并且只有一个结束元素</COMPANY-ISSUE-INFO>
但是,如果我找对你,你想找到<COMPANY>
元素的<COMPANY-DATA>
元素的ID。所以你对你的问题的评论应该这样做。但你也可以使用
<xsl:value-of select="//COMPANY[COMPANY-DATA='ABC']/ID"/>
这样就无需按特定顺序使用Comapny-Data和ID。
答案 1 :(得分:1)
<xsl:value-of select="//COMPANY-DATA[.='ABC']/following-sibling::ID/."/>