Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Сортировка и сохранение в XML / 9 сообщений из 9, страница 1 из 1
19.03.2008, 20:14
    #35201809
startFOX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
Подскажите, пожалуйста

Есть XML, "Справки НДФЛ2" (сокращ. вариант):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<Справка>
   <ОбщСвИЧ>
      <ГодДох> 2007 </ГодДох>
      <НомСпр> 6 </НомСпр>
      <ДатаСпр> 19 . 03 . 2008 </ДатаСпр>
      <ИФНСНА> 7788 </ИФНСНА>
   </ОбщСвИЧ>
   <ИстДох>
      <СвНАЮЛ>
           <ИННЮЛ> 7788995544 </ИННЮЛ>
           <КПП> 778899123 </КПП>
           <НаимОрг>ОАО "Рога и Копыта"</НаимОрг>
           <ОКАТО> 12457821587 </ОКАТО>
           <Телефон> 498214 </Телефон>
      </СвНАЮЛ>
   </ИстДох>
<Справка> 

Как отсортировать его по <НомСпр> и сохранить полученный XML?

Спасибо
...
Рейтинг: 0 / 0
20.03.2008, 08:20
    #35202263
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
ну .. что-нибудь вот такого вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
 <xsl:template match="/">
<xsl:for-each select="Справка">
<xsl:sort select="ОбщСвИЧ/НомСпр"/>
<xsl:copy-of select="."/>
</xsl:for-each>
 </xsl:template>
...
Рейтинг: 0 / 0
20.03.2008, 08:48
    #35202311
startFOX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
К сожалению, не помогло...
Вот код XSL
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="/">
    <xsl:for-each select="Справка">
      <xsl:sort select="ОбщСвИЧ/НомСпр"/>
      <xsl:copy-of select="."/>
    </xsl:for-each>
 </xsl:template>

</xsl:stylesheet>


Показывает чистый лист
...
Рейтинг: 0 / 0
20.03.2008, 11:40
    #35202864
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
xsl:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="1.0">
<xsl:template match="КучаСправок">
    <xsl:for-each select="Справка">
      <xsl:sort select="ОбщСвИЧ/НомСпр"/>
      <xsl:copy-of select="."/>
    </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>
xml:
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type="text/xsl" href="1.xsl"?>
<КучаСправок>
<Справка>
   <ОбщСвИЧ>
      <ГодДох> 2007 </ГодДох>
      <НомСпр> 6 </НомСпр>
      <ДатаСпр> 19 . 03 . 2008 </ДатаСпр>
      <ИФНСНА> 7788 </ИФНСНА>
   </ОбщСвИЧ>
   <ИстДох>
      <СвНАЮЛ>
           <ИННЮЛ> 7788995544 </ИННЮЛ>
           <КПП> 778899123 </КПП>
           <НаимОрг>ОАО "Рога и Копыта"</НаимОрг>
           <ОКАТО> 12457821587 </ОКАТО>
           <Телефон> 498214 </Телефон>
      </СвНАЮЛ>
   </ИстДох>
</Справка> 
<Справка> 
   <ОбщСвИЧ>
      <ГодДох> 2007 </ГодДох>
      <НомСпр> 2 </НомСпр>
      <ДатаСпр> 19 . 03 . 2007 </ДатаСпр>
      <ИФНСНА> 7788 </ИФНСНА>
   </ОбщСвИЧ>
   <ИстДох>
      <СвНАЮЛ>
           <ИННЮЛ> 7788995555 </ИННЮЛ>
           <КПП> 999999999 </КПП>
           <НаимОрг>ОАО "Рога и Копыта2"</НаимОрг>
           <ОКАТО> 12457821589 </ОКАТО>
           <Телефон> 498219 </Телефон>
      </СвНАЮЛ>
   </ИстДох>
</Справка> 
</КучаСправок>
результат:
Код: plaintext
1.
<Справка> <ОбщСвИЧ> <ГодДох> 2007  <НомСпр> 2  <ДатаСпр> 19 . 03 . 2007  <ИФНСНА> 7788  <ИстДох> <СвНАЮЛ> <ИННЮЛ> 7788995555  <КПП> 999999999  <НаимОрг>ОАО "Рога и Копыта2" <ОКАТО> 12457821589  <Телефон> 498219  
<Справка> <ОбщСвИЧ> <ГодДох> 2007  <НомСпр> 6  <ДатаСпр> 19 . 03 . 2008  <ИФНСНА> 7788  <ИстДох> <СвНАЮЛ> <ИННЮЛ> 7788995544  <КПП> 778899123  <НаимОрг>ОАО "Рога и Копыта" <ОКАТО> 12457821587  <Телефон> 498214  
токо вот что то закрывающих тегов не заметил... надо вспоминать, на вскидку не вспомню
...
Рейтинг: 0 / 0
20.03.2008, 11:49
    #35202904
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
по поводу вот этой строки в xml:
Код: plaintext
<?xml-stylesheet type="text/xsl" href="1.xsl"?>
парсеров под руками нет, пишу по памяти, для проверки пользуюсь тем что встроен в IE.
так что xsl имеет имя 1.xsl, xml имеет любое имя которе хочешь. потом токо открываешь xml через IE и смотришь на результат, если пользуешься нормальными парсерами , то убираешь это устрочку и натравливаешь xsl на xml а результат уходит в отдельный файл. возможно проблема с незакрытыми тегами решиться в таком случаи сама.
...
Рейтинг: 0 / 0
23.03.2008, 18:19
    #35208365
startFOX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
Спасибо большое за помощь!

Подскажите, пожалуйста, можно ли каким-то образом сохранить форматирование в результиующем файле?
...
Рейтинг: 0 / 0
23.03.2008, 20:29
    #35208450
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
Поподробнее, что то не очень понятен вопрос.
сохранение форматирования возможно, что конкретно нужно.
...
Рейтинг: 0 / 0
24.03.2008, 05:22
    #35208660
startFOX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
SuSaПоподробнее, что то не очень понятен вопрос.
сохранение форматирования возможно, что конкретно нужно.
Я имел ввиду, как сохранить внешний вид XML таким, каким он был изначально, то есть
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<Справка>
   <ОбщСвИЧ>
      <ГодДох> 2007 </ГодДох>
      <НомСпр> 6 </НомСпр>
      <ДатаСпр> 19 . 03 . 2008 </ДатаСпр>
      <ИФНСНА> 7788 </ИФНСНА>
   </ОбщСвИЧ>
   <ИстДох>
      <СвНАЮЛ>
           <ИННЮЛ> 7788995544 </ИННЮЛ>
           <КПП> 778899123 </КПП>
           <НаимОрг>ОАО "Рога и Копыта"</НаимОрг>
           <ОКАТО> 12457821587 </ОКАТО>
           <Телефон> 498214 </Телефон>
      </СвНАЮЛ>
   </ИстДох>
<Справка>
<Справка>
   <ОбщСвИЧ>
      <ГодДох> 2007 </ГодДох>
      <НомСпр> 44 </НомСпр>
      <ДатаСпр> 17 . 05 . 2006 </ДатаСпр>
      <ИФНСНА> 4563 </ИФНСНА>
   </ОбщСвИЧ>
   <ИстДох>
      <СвНАЮЛ>
           <ИННЮЛ> 2478124512 </ИННЮЛ>
           <КПП> 778899123 </КПП>
           <НаимОрг>ОАО "Рога и Копыта"</НаимОрг>
           <ОКАТО> 12457821587 </ОКАТО>
           <Телефон> 498214 </Телефон>
      </СвНАЮЛ>
   </ИстДох>
<Справка>
Сейчас всё выводится одной строкой...

Хотя подозреваю, что это проблема отображения в IE. Так ли это?
Спасибо
...
Рейтинг: 0 / 0
24.03.2008, 13:45
    #35209652
startFOX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка и сохранение в XML
Всё!

Тема закрыта

Oxygen XML Editor решает все эти вопросы.
Всё аккуратно трансформируется и я получаю нужный результат.

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


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