powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Аттрибут у XmlElement
11 сообщений из 11, страница 1 из 1
Аттрибут у XmlElement
    #37278800
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть простенький 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
Аттрибут у XmlElement
    #37278810
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual,

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

надо мне каждую пару аттрибут-значение у 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
Аттрибут у XmlElement
    #37278918
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual,

Код: plaintext
1.
2.
3.
<xsl:variable name="newline">
    <xsl:text>
</xsl:text>
</xsl:variable>
Перенос внутри <xsl:text> важен!!!
...
Рейтинг: 0 / 0
Аттрибут у XmlElement
    #37278949
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кхм, а у меня все равно не работает
Вот полностью код 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
Аттрибут у XmlElement
    #37278970
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Аттрибут у XmlElement
    #37278983
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так работает

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

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


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