powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Обратиться к неизвестному тэгу
8 сообщений из 8, страница 1 из 1
Обратиться к неизвестному тэгу
    #34691124
tovarish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плз. Как можно перебрать все тэги в ветке, не зная из названия.

Я поясню. Есть xml:

</ArrayOfClient>
<Client>
<Name DisplayName="Имя">Рексофт</Name>
<Manager DisplayName="Менеджер">Егоров</Manager>
<Email DisplayName="Email">reksoft@reksoft.ru<;/Email>
</Client>
<Client>
<Name DisplayName="Имя">Рамстор</Name>
<Manager DisplayName="Менеджер">Мустафа Саглам</Manager>
<Email DisplayName="Email">ramenka@ramenka.ru<;/Email>
</Client>
<Client>
<Name DisplayName="Имя">test 11</Name>
<Manager DisplayName="Менеджер" />
<Email DisplayName="Email" />
</Client>
</ArrayOfClient>

Хочеться преобразовать его с помощью xslt, но я не знаю что "ArrayOfClient" - это "ArrayOfClient", "Client" - это "Client" и какие у него есть подэлементы (поля). Зато я знаю, что этот xml имеет именно такую структуру.

Как быть?

Спасибо.
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34691237
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понял а в чем суть?
ну да ладно. Без пояснений могу пока предложить следующие варианты
1. Обходишь сверху вниз. Родитель- потомок ...и т.п. (без уточнения ху есть ху)
2. Есть специальные функции для обхода дерева. Все братья эл-та, родитель текцущего элемента и т.п.
Уточни чего хочешь, отвечу конкретнее.
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34691296
tovarish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот именно эти функции для обхода дерева. Как они называються?
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34691823
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot tovarish]Хочеться преобразовать его с помощью xslt, но я не знаю что "ArrayOfClient" - это "ArrayOfClient", "Client" - это "Client" и какие у него есть подэлементы (поля). Зато я знаю, что этот xml имеет именно такую структуру.[quot]
Все зависит от того, что вы хотите получить на выходе. Поконкретнее опишите.
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34691966
tovarish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу простить. Выражаю яснее.

Задача преобразовывать xml такой структуры в XML Speadsheet для экспорта в excel.

Заранее благодарен.
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34692036
tovarish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или HTML не так важно...
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34692204
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tovarishИли HTML не так важно...
Ну вот, как вариант:
(предположения о "структуре" всего 2: 1 - корневой элемент коллекции строк 1 на весь документ; 2 - имена столбцов находятся в первом атрибуте элементов данных, больше - никаких имен тегов и пр. "определенности").
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8" method="html" omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="/">
	<xsl:apply-templates select="*[1]"/>
</xsl:template>

<xsl:template match="/*/*/*">
	<td><xsl:value-of select="."/></td>
</xsl:template>

<xsl:template match="/*/*">
	<tr><xsl:apply-templates select="*"/></tr>
</xsl:template>

<xsl:template match="/*[1]">
	<table>
		<tr><xsl:for-each select="*[1]/*[@*]"><th><xsl:value-of select="./@*[1]" /></th></xsl:for-each></tr>
		<xsl:apply-templates select="*"/>
	</table>
</xsl:template>

</xsl:stylesheet>
...
Рейтинг: 0 / 0
Обратиться к неизвестному тэгу
    #34692230
tovarish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работает...

qu-qu > Примите мою благодарность и признательность.

Дальше сам разберусь.

Спасибо еще раз.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Обратиться к неизвестному тэгу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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