Re[4]: Помогите! Поиск по XML
От: da.ru  
Дата: 23.08.04 12:15
Оценка:
Здравствуйте, don_Kabanos, Вы писали:

_K>Здравствуйте, da.ru, Вы писали:


DR>>Здравствуйте, don_Kabanos, Вы писали:


_K>>>Здравствуйте, da.ru, Вы писали:


DR>>>>Есть файл такого содержания



DR>>>>
DR>>>><xml ...>
DR>>>><substances>
DR>>>>  <substance>
DR>>>>    <name>соединение х1</name>
DR>>>>    <formula>kukaracha+kukaracha</formula>
DR>>>>  </substances>
DR>>>>  ..
DR>>>>  ..
DR>>>>  ..
DR>>>>  <substance>
DR>>>>    <name>соединение х2</name>
DR>>>>    <formula>kukaracha+kukaracha+kuka</formula>
DR>>>>  </substances>
DR>>>>  ..
DR>>>>  ..
DR>>>>  <substance>
DR>>>>    <name>соединение yy</name>
DR>>>>    <formula>kukaracha+kukaracha-kuka</formula>
DR>>>>  </substances>
DR>>>></substances>
DR>>>>


DR>>>>Вопрос: как сформировать запрос чтобы вывелись только те которые сожержат букву "х"?



_K>>>в точности для твоего случая:


_K>>>
_K>>><xsl:apply-templates select="substances/substance[contains(name, 'xx')]"/>
_K>>>


_K>>>т.е выбрать все элементы substance, которые находятся внутри элемента substances и внутри которого (эл-та substance) содержиться элемент name, содержащий в себе сочетание xx


DR>>То есть, создать xsl файл и поставить его в качестве фильтра на xml файл?


_K>Я написал тебе XPath выражение, которое выбирает те элементы, которые тебе нужны. Если с ними еще нужно что-то делать — это другой вопрос. Если называть это фильтром, то, в принципе, да


Вот втом то и дело что как эту строчку применять, потому что я пишу ее вроде в качестве фильтра(если xsl накладывать на xml) так ведь? то мне пишет что не знает он такой функции...
substances/substance[-->contains(name<--,'x')]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.