powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / поиск внутри тэга/изменение структуры
5 сообщений из 5, страница 1 из 1
поиск внутри тэга/изменение структуры
    #37466354
shidlat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, большая просьба помоч
к примеру есть такая структура
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<client>
              <contact>ЭОКС Алексей</contact>
              <summa> 33000 </summa>
               </client>
               <client>
               <contact>Маркетинг Светлана</contact>
               <summa> 22000 </summa>
               </client>
               <client>
               <contact>ЭОКС Владимир</contact>
               <summa> 2000 </summa>
               </client>
Собственно подскажите как найти сумму по отделам. Как предпологаю для этого нужно либо найти вхождение в тэге Контакт либо изменить структуру XML
...
Рейтинг: 0 / 0
поиск внутри тэга/изменение структуры
    #37466669
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shidlat,

Отдел это "ЭОКС" ?

Однозначно менять структуру.
как вариант затычки - поставить "стоп ворд", например так: <contact>ЭОКС::: Алексей</contact>
проблема в том, что непонятно как отдел "выкусывать", если он всегда из одного слова - то можно по пробелу, но в жизни так не бывает.
...
Рейтинг: 0 / 0
поиск внутри тэга/изменение структуры
    #37466853
shidlat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению структура пока такая, подскажите пожалуйста как можно тогда "выкусить по пробелу" т.е. подсчитать сумму учитывая что отдел до пробела
...
Рейтинг: 0 / 0
поиск внутри тэга/изменение структуры
    #37466953
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shidlat,

добавил корень, относительно него строится ключ, вам соответственно надо переписать будет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="windows-1251"?>
<root>
<client>
	<contact>ЭОКС Алексей</contact>
	<summa> 33000 </summa>
</client>
<client>
	<contact>Маркетинг Светлана</contact>
    <summa> 22000 </summa>
</client>
<client>
	<contact>ЭОКС Владимир</contact>
	<summa> 2000 </summa>
</client>
<client>
	<contact>Маркетинг Лена</contact>
    <summa> 120000 </summa>
</client>
</root>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output encoding="windows-1251" indent="yes" method="html" />
	
	<xsl:key name="otdel" match="/root/client/contact" use="substring-before( text(), ' ')" />
	
	<xsl:template match="/">
		<html>
		<body>
			<xsl:for-each select="/root/client/contact[ generate-id() = generate-id( key( 'otdel', substring-before( text(), ' ')))]">
				<xsl:sort select="text()" />
	
				<xsl:variable name="otdel" select="substring-before( text(), ' ')" />
	
				<xsl:value-of select="$otdel" />
				<xsl:text> - </xsl:text>
				<xsl:value-of select="sum( key( 'otdel', $otdel )/parent::client/summa)" />
				<br/>
			</xsl:for-each>
		</body>
		</html>
	</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
поиск внутри тэга/изменение структуры
    #37466974
shidlat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, дай бог вам здоровья!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / поиск внутри тэга/изменение структуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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