powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Преобразовать атрибуты в элементы
5 сообщений из 5, страница 1 из 1
Преобразовать атрибуты в элементы
    #38238539
parusproff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть файл вот такого вида
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<root>
   <node>
      <element attrname1="dd" attrname2="aa" attrname3="bb"/>
      <element attrname4="dd2" attrname2="aa1" attrname5="bb8"/>
   </node>
   <node5>
      <element2 attrname4="dd2" attrname2="aa1" attrname5="bb8"/>
      <subnode5>
         <element attrname4="dd2" attrname2="aa1" attrname5="bb8"/>
      </subnode5>
   </node5>
</root>



нужно получить
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<root>
   <node>
      <element>
          <attrname1>dd</attrname1>
          <attrname2>aa</attrname2>
          <attrname3>bb</attrname3>
      </element>
      <element>
          <attrname4>dd2</attrname4>
          <attrname2>aa1</attrname2>
          <attrname5>bb8</attrname5>
      </element>
   </node>
   <node5>
      <element2>
          <attrname4>dd2</attrname4>
          <attrname2>aa1</attrname2>
          <attrname5>bb8</attrname5>
          <subnode5>
              <element>
                   <attrname4>dd2</attrname4>
                   <attrname2>aa1</attrname2>
                   <attrname5>bb8</attrname5>
              </element>
          </subnode5>
      </element2>
   </node5>
</root>



ни названия узлов, ни атрибутов заранее не известны
Помогите пожалуйста создать преобразование.
...
Рейтинг: 0 / 0
Преобразовать атрибуты в элементы
    #38238546
parusproff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<root>
   <node>
      <element>
          <attrname1>dd</attrname1>
          <attrname2>aa</attrname2>
          <attrname3>bb</attrname3>
      </element>
      <element>
          <attrname4>dd2</attrname4>
          <attrname2>aa1</attrname2>
          <attrname5>bb8</attrname5>
      </element>
   </node>
   <node5>
      <element2>
          <attrname4>dd2</attrname4>
          <attrname2>aa1</attrname2>
          <attrname5>bb8</attrname5>
      </element2>
      <subnode5>
          <element>
               <attrname4>dd2</attrname4>
               <attrname2>aa1</attrname2>
               <attrname5>bb8</attrname5>
          </element>
      </subnode5>
   </node5>
</root>



вот так более правильно.
...
Рейтинг: 0 / 0
Преобразовать атрибуты в элементы
    #38238558
parusproff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вложенность также не известна(
...
Рейтинг: 0 / 0
Преобразовать атрибуты в элементы
    #38238591
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  <xsl:template match="/">
    <xsl:apply-templates select="node()"/>
  </xsl:template>

  <xsl:template match="node()">
    <xsl:copy>
      <xsl:apply-templates select="@*"/>
      <xsl:apply-templates select="node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="@*">
    <xsl:element name="{name()}">
      <xsl:value-of select="text()"/>
    </xsl:element>
  </xsl:template>
...
Рейтинг: 0 / 0
Преобразовать атрибуты в элементы
    #38238620
parusproff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

ооо.. ОГРОМНОЕ человеческое СПАСИБО!
сам бы не додумался. весь инет перерыл в поисках решения.

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


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