Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как получить текст после открытия/закрытия пустого тега ? / 6 сообщений из 6, страница 1 из 1
10.05.2008, 12:08
    #35304307
wicont
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить текст после открытия/закрытия пустого тега ?
Доброго времени суток!

Есть рекурсивная функция , в которой хожу по всем нодам и беру текст:
Код: plaintext
       <xsl:value-of select = "text()"/> 

однако если в текущей ноде встречается открытие/закрытие пустого тега - то текст после этого тега игнорируется :(

xml такой:
Код: plaintext
1.
2.
3.
4.
     <p>
        <span>Text1
               <а></а>Text2
        </span>
     </p>

т.е. захожу в <span> беру text()" в результате у меня только Text1. Text2 - просто игнорируется.
"node()" и "." мне не подхордят в данном случае.
Как взять весь текст ??
...
Рейтинг: 0 / 0
10.05.2008, 13:09
    #35304335
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить текст после открытия/закрытия пустого тега ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test_xsl.xsl"?>
<p>
	<span>Text1
               <а/>Text2
        </span>
</p>

Код: plaintext
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:output method="xml" encoding="UTF-8" indent="no"/>
	<xsl:template match="p">
		<data><xsl:value-of select="."/></data>
	</xsl:template>
</xsl:stylesheet>

Код: plaintext
1.
  <?xml version="1.0" encoding="UTF-8" ?> 
  <data>Text1 Text2</data> 
...
Рейтинг: 0 / 0
10.05.2008, 13:38
    #35304348
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить текст после открытия/закрытия пустого тега ?
wicont "node()" и "." мне не подхордят в данном случае.пардон, не увидел
...
Рейтинг: 0 / 0
11.05.2008, 13:14
    #35305026
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить текст после открытия/закрытия пустого тега ?
wicontЕсть рекурсивная функция , в которой хожу по всем нодам и беру текст:
Код: plaintext
       <xsl:value-of select = "text()"/> 
а вот такой вариант подойдет?
Код: plaintext
1.
2.
<xsl:for-each select="text()">
  <xsl:value-of select="current()"/>
</xsl:for-each>
...
Рейтинг: 0 / 0
12.05.2008, 14:33
    #35306553
wicont
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить текст после открытия/закрытия пустого тега ?
да, так работает. Спасибо! :)
...
Рейтинг: 0 / 0
13.05.2008, 16:33
    #35309599
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить текст после открытия/закрытия пустого тега ?
можно применить дефолтный шаблон
<xsl:apply-templates select="text()"/>
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как получить текст после открытия/закрытия пустого тега ? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]