parser

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

 

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

Ответ

virusav 05.03.2012 10:46

Пример: надо обрабатывать хмл разных версий, в которых меняются названия тегов и т.д.
Создаем конфиг по умолчанию:
$hConfig[
	$.fields[
		$.title[
			$.tag[title]
			$.caption[Заголовок]
		]
		$.description[
			$.tag[description]
			$.caption[Описание]
		]
	]
]
Создаем конфиг версий:
$hConfig1[
	$.12345[
		$.fields[
			$.title[
				$.tag[name]
			]
		]
	]
]
Если приходит версия 12345, то в исходном конфиге меняем значение только одного ключа.
Т.к. обрабатываться могут несколько файлов разных ревизий, то создаем копию исходного конфига и модифицируем его.
При этом остальной код работает с копией исходного конфига со внесенными изменениями согласно ревизии.

В такой ситуации полное копирование многоуровневого хеша было бы удобно.