Гость
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / навигация по xml-документу / 6 сообщений из 6, страница 1 из 1
15.11.2006, 15:17
    #34130602
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
навигация по xml-документу
Есть такой 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
<xml xmlns:x="urn:schemas-microsoft-com:office:excel">
  <x:PivotTable>
    <x:OWCVersion> 10 . 0 . 0 . 5851  </x:OWCVersion>
    <x:NoDisplayToolbar/>
    <x:DisplayScreenTips/>
    <x:CubeProvider>msolap. 2 </x:CubeProvider>
    <x:CacheDetails/>
    <x:ConnectionString>Provider=MSOLAP. 2 ;Integrated Security=SSPI;Persist Security Info=True;SSPI=anonymous;Data Source=http:// 10 . 80 . 26 . 149 ;Initial Catalog=Nsk;Client Cache Size= 25 ;Auto Synch Period= 10000 ;Safety Options= 1 </x:ConnectionString>
    <x:DataMember>Погрузка</x:DataMember>
    <x:Name>Погрузка по дороге</x:Name>
    <x:PivotField>
      <x:Name>Гр1</x:Name>
      <x:SourceName>[Гр].[Гр1]</x:SourceName>
      <x:FilterCaption>Гр</x:FilterCaption>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Гр2</x:Name>
      <x:SourceName>[Гр].[Гр2]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Гр3</x:Name>
      <x:SourceName>[Гр].[Гр3]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Гр4</x:Name>
      <x:SourceName>[Гр].[Гр4]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Груз1</x:Name>
      <x:SourceName>[Груз].[Груз1]</x:SourceName>
      <x:FilterCaption>Груз</x:FilterCaption>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Груз2</x:Name>
      <x:SourceName>[Груз].[Груз2]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Год</x:Name>
      <x:SourceName>[Дата].[Год]</x:SourceName>
      <x:FilterCaption>Дата</x:FilterCaption>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Месяц</x:Name>
      <x:SourceName>[Дата].[Месяц]</x:SourceName>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>День</x:Name>
      <x:SourceName>[Дата].[День]</x:SourceName>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Отправитель</x:Name>
      <x:SourceName>[Отправитель].[Отправитель]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>РПС1</x:Name>
      <x:SourceName>[РПС].[РПС1]</x:SourceName>
      <x:FilterCaption>РПС</x:FilterCaption>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>РПС2</x:Name>
      <x:SourceName>[РПС].[РПС2]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Страна назн</x:Name>
      <x:SourceName>[Станция назн].[Страна назн]</x:SourceName>
      <x:FilterCaption>Станция назн</x:FilterCaption>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Дорога назн</x:Name>
      <x:SourceName>[Станция назн].[Дорога назн]</x:SourceName>
      <x:CompareOrderedMembersBy>UniqueName</x:CompareOrderedMembersBy>
    </x:PivotField>
      
  </x:PivotTable>
</xml>

C помощью javascript, мне надо добрать до последнего <x:PivotField> и получить значение
Код: plaintext
[Станция назн].[Дорога назн]
, если мне не известно заранее сколько <x:PivotField> содержит xml.
Вот.
...
Рейтинг: 0 / 0
15.11.2006, 19:22
    #34131483
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
навигация по xml-документу
lastChild?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
16.11.2006, 07:15
    #34131977
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
навигация по xml-документу
Немного не то, а если есть ещё один <x:PivotField>, который лежит ниже? Может быть есть что-нибудь на подобие xPath в javascript? Мне бы хотелось написать универсальную программу, в которой нужно было бы указать только условие, по кторому и находится нужный тэг.
Ну, допоустим вот так:
Найти <x:PivotField>, в котором <x:Name>Страна назн</x:Name> . Если это делать с помощью XSL, то это просто, а как тоже самое сделать, но только средствами javascript?
Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
16.11.2006, 13:39
    #34133182
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
навигация по xml-документу
/xml/x:PivotTable/x:PivotField[last()]/x:SourceName
но тег с именем xml по стандарту недопустим.
...
Рейтинг: 0 / 0
21.11.2006, 15:37
    #34144133
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
навигация по 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.
<xml xmlns:x="urn:schemas-microsoft-com:office:excel">
 <x:PivotTable>
 <x:PivotField>
      <x:Name>Год</x:Name>
      <x:SourceName>[Дата].[Год]</x:SourceName>
      <x:FilterCaption>Дата</x:FilterCaption>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Месяц</x:Name>
      <x:SourceName>[Дата].[Месяц]</x:SourceName>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>День</x:Name>
      <x:SourceName>[Дата].[День]</x:SourceName>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
      <x:IncudedMember>
          <x:Name>  12 </x:Name>  
          <x:UniqueName>[Даты].[Все Даты].[ 2006 ].[November].[ 12 ]</x:UniqueName>      
     </x:IncudedMember>
    </x:PivotField>
 </x:PivotTable>
</xml>

Мне нужно обратиться к <x:PivotField>у которого есть элемент <x:IncudedMember>.
В зависимости от ситуации <x:IncudedMember> может содержатся как в 1-м, так и во 2-м и 3-м <x:PivotField>'е.
Если <x:IncudedMember> содержится во втором <x:PivotField>, то фрагмент выглядит так:
Код: 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 xmlns:x="urn:schemas-microsoft-com:office:excel">
 <x:PivotTable>
 <x:PivotField>
      <x:Name>Год</x:Name>
      <x:SourceName>[Дата].[Год]</x:SourceName>
      <x:FilterCaption>Дата</x:FilterCaption>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
    </x:PivotField>
    <x:PivotField>
      <x:Name>Месяц</x:Name>
      <x:SourceName>[Дата].[Месяц]</x:SourceName>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
        <x:IncudedMember>
          <x:Name> November</x:Name>  
          <x:UniqueName>[Даты].[Все Даты].[ 2006 ].[November]</x:UniqueName>      
        </x:IncudedMember>
    </x:PivotField>
    <x:PivotField>
      <x:Name>День</x:Name>
      <x:SourceName>[Дата].[День]</x:SourceName>
      <x:CompareOrderedMembersBy>Name</x:CompareOrderedMembersBy>
         </x:PivotField>
 </x:PivotTable>
</xml>
Как обратиться к <x:PivotField>у которого есть элемент <x:IncudedMember>, если позиция<x:IncudedMember> в документе не фиксированна ?
...
Рейтинг: 0 / 0
22.11.2006, 07:48
    #34145465
NNika
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
навигация по xml-документу
Вопрос снят.
Всё тривиально.
Код: plaintext
selectSingleNode("xml/x:PivotTable/x:PivotField/x:IncludedMember/x:UniqueName");
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / навигация по xml-документу / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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