powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите с подсчетом аттрибутом в XML
12 сообщений из 12, страница 1 из 1
Помогите с подсчетом аттрибутом в XML
    #37513069
microdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Помогите, пожалуйста, с подсчетом аттрибутов тэга "RECORDS" (если я правильно использую лексику)
Каждый тэг "RECORDS" содержит информацию о 4 типах сумм, но таких тэгов может быть несколько.
Испробованные мной варианты не работают и в текущем виде возращается 0.

Исходный XML выглядит следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="C:\MICEX\XSLT\CCX10_01092011.xslt"?>
<?xml-stylesheet type="text/xsl" href=" http://www.micex.ru/xsl/reports/members/CCX10_01092011.xslt"?> 
<MICEX_DOC xsi:noNamespaceSchemaLocation="C:\MICEX\XSD\CCX10_01092011.xsd" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> 
	<DOC_REQUISITES/>
	<CCX10 ReportDate="2011-09-01" FirmId="MB1111100000" FirmName="ОАО "Банк "ABC"" >
	<SETTLE ExtSettleCode="88888">
		<RECORDS CommisType="1" CurrencyId="EUR" CoCurrencyId="RUB" ClrComm="112" ClrVAT="1.0" ExchComm="111" ExchVAT="1.00" ITSComm="111" ITSVAT="1"/>
	</SETTLE>
	</CCX10>
</MICEX_DOC>

Мой вариант xslt файла прилагается.
Спасибо.
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513177
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вроде работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
H|2011-09-01
JOURNAL TYPE	ETC
NCCfee	795000000	01	D	025146044	01	C	 	 	RUB	111.0000	09/01/2011	09/01/2011	 	2	R	FU	kryucs	melams	SS
NCCvat	795000000	01	D	025146044	01	C	 	 	RUB	1.0000	09/01/2011	09/01/2011	 	2	R	FU	kryucs	melams	SS
EX4fee	795000000	01	D	025146044	01	C	 	 	RUB	111.0000	09/01/2011	09/01/2011	 	2	R	FU	kryucs	melams	SS
ITSfee	795000000	01	D	025146044	01	C	 	 	RUB	111.0000	09/01/2011	09/01/2011	 	2	R	FU	kryucs	melams	SS
T|0
Зато тут перебор с кавычками:
Код: plaintext
FirmName="ОАО "Банк "ABC""
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513275
microdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Неправильно выразился ...
Мне нужно подсчитать сколько раз встречаются аттрибуты типа:
- ClrComm
- ClrVAT
- ExchComm
- ITSComm

во всех тэгах типа "RECORDS"

Например,
<RECORDS CommisType="1" CurrencyId="EUR" CoCurrencyId="RUB" ClrComm="112" ClrVAT="1.0" ExchComm="111" ExchVAT="1.00" ITSComm="111" ITSVAT="1"/>

1 тэг RECORDS = 4 раза нашлись указанные аттрибуты

<RECORDS CommisType="1" CurrencyId="EUR" CoCurrencyId="RUB" ClrComm="112" ClrVAT="1.0" ExchComm="111" ExchVAT="1.00" ITSComm="111" ITSVAT="1"/>
<RECORDS CommisType="1" CurrencyId="EUR" CoCurrencyId="RUB" ClrComm="112" ClrVAT="1.0" ExchComm="111" ExchVAT="1.00" ITSComm="111" ITSVAT="1"/>

1 тэга RECORDS = 8 раз нашлись указанные аттрибуты и т.д.

Я попробовал подсчитать с помощью <xsl:value-of select="count(/*[ClrComm])"/>, но она выдаеть 0.

Еще раз спасибо.
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513276
microdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, во втором примере 2 тэга типа RECORDS
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513310
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
count(/*[@vClrComm])
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513352
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слегка поправлю:
Код: plaintext
count( //RECORDS[ @ClrComm ])
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513377
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уже
Код: plaintext
count(.//RECORDS[@ClrComm])
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513378
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или даже так
Код: plaintext
count(RECORDS[@ClrComm])
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513384
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Ну смотрите, откуда сработают наши варианты:
/* - если мы в таге SETTLE и нет других тагов RECORDS, а так же RECORDS - плоский список
// - с любого места
.// - с любого места если мы не в RECORDS
Ну и последнее, если мы обрабатываем SETTLE и RECORDS - плоский список
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513402
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lan_Vasilisk_,
Ну смотрите, откуда сработают наши варианты:Я немного знаком с синтаксисом XSLT
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513444
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Ну тогда не стоит писать решения, которые не будут работать, пишите xsl целиком.
...
Рейтинг: 0 / 0
Помогите с подсчетом аттрибутом в XML
    #37513699
microdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем.

Вариант mage.lan - count(//*[ @ClrComm > 0 ]) - работает отлично.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите с подсчетом аттрибутом в XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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