Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Подскажите пожалуйста по xml/xsl
цитата
07/06/08 в 19:11
 lex_from_crutop
Подскажите пжалуйста люди добрые icon_smile.gif

Дело такое, посредством xsl надо обрабатывать html документ и из разых таблиц получать данные в виде хмл файла.


И у меня возникла трудность в нескольких пунктах.

1
при получении данных, если таблица в таблице
- пример

при таком раскладе работает и выдает данные ячейки td2

<xsl:for-each select='HTML/BODY/TABLE[3]/TR[1]/TD[3]'>
<player>
<xsl:attribute name="name">
<xsl:value-of select="//TABLE/TR[2]/TD[2]"/> </xsl:attribute>

Но посути это неверно так как <xsl:value-of select="//TABLE/TR[2]/TD[2]"/> не является первой таблицой внутри TABLE[3].

Правильно должно быть поидее
<xsl:value-of select="//TABLE[4]/TR[2]/TD[2]"/> так как таюлица является 4 по счету, но стоит добавить порядковый номер, как сразу пропадает любая выдача icon_sad.gif

В чем может быть загвозда?


2 пункт.

На этом же примере:
<xsl:value-of select="//TABLE[4]/TR[2]/TD[2]"/>

в случае когда у меня в
TD[2] идет перечислениеанных - например: (lb 5, w 21, nb 2)
и мне их надо получит не так, как при использованиикода
<xsl:value-of select="//TABLE/TR[2]/TD[2]"/>
И я получу все что было в этой ячейке, типа: <player name="(lb 5, w 21, nb 2)" />
А мне надо разбить по частям и получить выдачу типа:
<player name="(lb 5", name2="w 21", name3="nb 2)" />

Соответсвенно после TD[2] мне необходимо дописать еще какоето правило для разбива текста.. толи указать что разделителем является запятая, ил пробел, и после каждой части текста задать порядковый номер.

Возможно как то типа TD[2]/text()[2]

Подскажите плиз, как правильно это сделать?


Эта страница в полной версии