parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Ivan Sergeev 01.11.2013 12:30 / 01.11.2013 12:33

Ну не знаю, что вы тут страшного нашли. Делов-то на несколько минут.
$nodes[^table::create{from to
<Товары>	<Producs>
</Товары>	</Producs>
<Товар>	<Product>
</Товар>	</Product>
<Наименование>	<Description>
</Наименование>	</Description>
<Группы>	<Groups>
</Группы>	</Groups>
<Ид>	<Id>
</Ид>	</Id>
</Каталог>	</Catalog>
</КоммерческаяИнформация>	</CommercialInformation>
}]

$str[<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.05" ДатаФормирования="2013-10-16T8:38:37">
	<Каталог СодержитТолькоИзменения="false">
		<Товары>
			<Товар>
				<Наименование>газонокосилка эл. колесн. Bosch Rotak 1000</Наименование>
				<Группы>
					<Ид>31c0dc8f-2728-11e3-9f5c-001bfcb40055</Ид>
				</Группы>
			</Товар>
		</Товары>
	</Каталог>
</КоммерческаяИнформация>]
	
	$str[^str.replace[$nodes]]
	$str[^str.match[<КоммерческаяИнформация\s*ВерсияСхемы="([\d\.]*)"\s*ДатаФормирования="([\d\-]{8,10})T([\d\:]{5,8})">][]{<CommercialInformation version="$match.1" date="$match.2 $match.3">}]
	$str[^str.match[<Каталог\s*СодержитТолькоИзменения="(\w*)">][]{<Catalog changes="$match.1">}]
	
	$str