Что нового

[RegExp] Получение SQL запроса из XML, XSD

Автор
I

IgRo

Знающий
Сообщения
65
Репутация
5
значение тега вида (1)
Код:
<Owner>1d377bda-d8c1-11de-8008-0015170f31a8</Owner>
получал так
Код:
$sValue = StringRegExpReplace($sNodeXML, '.*<([^<>/]+)>(.*?)</\1>.*', "'$2'")

теперь встретились теги с атрибутом вида (2)
Код:
<Owner xsi:type="CatalogRef.Elem">1d377bda-d8c1-11de-8008-0015170f31a8</Owner>
Как правильно составить RegExp для получения значения из (1) и (2)?



Добавлено:
Сообщение автоматически объединено:

OFFtop "хорошая мысля приходит опосля"
Код:
$sValue = StringRegExpReplace($sNodeXML, '.*<([^<>/]+)(?:\sxsi:)?(.*="[^">]+")?>(.*?)</\1>.*', "'$2$3'")



Добавлено:
Сообщение автоматически объединено:

Регекспы для парсинга чужого HTML(XML) в общем случае страшное зло. Регулярно придётся лазить и править свой код на предмет очередных изменений в структуре чужого документа
 
Верх