Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Аттрибут у XmlElement / 11 сообщений из 11, страница 1 из 1
25.05.2011, 16:20
    #37278800
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
Есть простенький xml

Код: plaintext
1.
2.
3.
4.
5.
6.
- <LetterRoot>
  <EMailHeader UserFriendlyName="E-Mail Header">Technical Support E-Mail</EMailHeader> 
  ....
  еще подобные поля
  ....
  </LetterRoot>

Я хочу в результирующем текстовом файле показать вот так:

Код: plaintext
1.
E-Mail Header: Technical Support E-Mail

Ну и соотв пишу:
Код: plaintext
<xsl:value-of select="EMailHeader"/>
а каким образом мне показать аттрибут xml-нода соответствующий ?
...
Рейтинг: 0 / 0
25.05.2011, 16:24
    #37278810
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
tual,

Код: plaintext
<xsl:value-of select="EMailHeader/@UserFriendlyName"/>
...
Рейтинг: 0 / 0
25.05.2011, 16:24
    #37278813
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
EMailHeader/@UserFriendlyName
...
Рейтинг: 0 / 0
25.05.2011, 16:28
    #37278827
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
Спасибо, сам малость недопетрил, и полез в дебри гугла :)
...
Рейтинг: 0 / 0
25.05.2011, 16:44
    #37278883
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
А подскажите плиз еще, а то что-то вариант из гугла у меня не работает.

надо мне каждую пару аттрибут-значение у xml-тега, писать с новой строки.
проблема встала (вот уж не думал), с символом перевода каретки.
то есть у меня все пишется в одну строку.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<xsl:variable name="newline">
    <xsl:text></xsl:text>
</xsl:variable>
  
<xsl:template match="LetterRoot">
<xsl:value-of select="EMailHeader"/>
<xsl:value-of select="$newline" />
<xsl:value-of select="Date/@UserFriendlyName"/>: <xsl:value-of select="Date"/>
</xsl:template>

Чтото гугль не помог мне :(
P.S. если что - результирующий файл - текстовый
...
Рейтинг: 0 / 0
25.05.2011, 16:55
    #37278918
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
tual,

Код: plaintext
1.
2.
3.
<xsl:variable name="newline">
    <xsl:text>
</xsl:text>
</xsl:variable>
Перенос внутри <xsl:text> важен!!!
...
Рейтинг: 0 / 0
25.05.2011, 17:08
    #37278949
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
Кхм, а у меня все равно не работает
Вот полностью код xslt файла

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>

<xsl:variable name="newline">
  <xsl:text>
  </xsl:text>
</xsl:variable>

<xsl:template match="LetterRoot">
<xsl:value-of select="EMailHeader"/>
<xsl:value-of select="$newline" />
<xsl:value-of select="Date/@UserFriendlyName"/>: <xsl:value-of select="Date"/>
</xsl:template>
</xsl:stylesheet>

И я получаю строчку "Technical Support E-MailDate: 05/25/2011"
...
Рейтинг: 0 / 0
25.05.2011, 17:21
    #37278970
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
tual,

У меня твой вариант переносит. Попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:output method="text"/>
	<xsl:template match="LetterRoot">
		<xsl:value-of select="EMailHeader"/>
		<xsl:text>&# 10 ;</xsl:text>
		<xsl:value-of select="Date/@UserFriendlyName"/>
		<xsl:text>:</xsl:text>
		<xsl:value-of select="Date"/>
	</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
25.05.2011, 17:28
    #37278983
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
Так работает

Я у себя поправил на
Код: plaintext
1.
2.
3.
4.
<xsl:variable name="newline">
  <xsl:text>
</xsl:text>
</xsl:variable>

и тоже заработало... может есть нюанс в том, что это UTF-8, и символ переноса строки надо кодировать, а не просто нажать кнопку Enter
...
Рейтинг: 0 / 0
25.05.2011, 17:28
    #37278984
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
тьфу, добавил вообщем
в переменную
...
Рейтинг: 0 / 0
25.05.2011, 17:29
    #37278985
tual
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аттрибут у XmlElement
форум не пропускает :)
короче вот тот код с 10кой , добавил :)
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Аттрибут у XmlElement / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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