Вопрос по XSLT следующим братьям и сестрам - PullRequest
0 голосов
/ 28 февраля 2011

Моя структура XML выглядит следующим образом

<COMPANY>
<COMPANY-DATA>ABC</COMPANY-DATA>
<ID>10800</ISSUE-ID>
<PROJECT-ID/>
</COMPANY-ISSUE-INFO>
 </COMPANY>
"COMPANY Node repeats"

То, что я хочу сделать, это я хочу сделать, я хочу проверить COMPANY-DATA = 'ABC' и получить его идентификатор

Я пытался использовать

<xsl:value-of select="//COMPANY-DATA/.='ABC'/following-sibling::ID/."/> 

Но, похоже, это не работает и выдает ошибку

Выражение должно оцениваться как набор узлов //COMPANY-DATA/.= -> 'ABC' <- /following-sibling::ID/.</p>

Спасибо

Karthik

Редактировать: я нашел решение

 **<xsl:value-of select="//COMPANY-DATA[.='ABC']/following-sibling::ID/."/>** 

Спасибо

Ответы [ 2 ]

1 голос
/ 04 марта 2011
<xsl:value-of select="//COMPANY-DATA[.='ABC']/following-sibling::ID/."/>
1 голос
/ 01 марта 2011

Первое, что я заметил, это то, что после того, как вы перехватили ваш пост, у вас нет действительного XML.Элемент <ID> закрыт конечным элементом </ISSUED_ID>, и есть один закрывающий элемент </COMPANY-ISSUE-INFO>

Но если я вас правильно понял, вы хотите найти идентификатор элемента <COMPANY>где <COMPANY-DATA> - ABC.Так что ваш комментарий на ваш вопрос должен сделать это.Но вы также можете использовать

<xsl:value-of select="//COMPANY[COMPANY-DATA='ABC']/ID"/>

Это устраняет необходимость иметь Comapny-Data и ID в определенной последовательности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...