В нижеприведенном фрагменте XML мне нужно извлечь и сохранить в переменной значение NAME1, когда родительский узел - E1EDKA2, а элемент PARVW равен AG.Необходимо извлечь дочернее значение sibling с помощью regex
<DESADV01>
<IDOC>
<E1EDKA2 SEGMENT="1">
<PARVW>AG</PARVW>
<PARTN>0001703217</PARTN>
<NAME1>WILBUR ELLIS RIO LINDA</NAME1>
<STRAS>841 W ELKHORN BLVD</STRAS>
<ORT01>RIO LINDA</ORT01>
<PSTLZ>956733005</PSTLZ>
<LAND1>US</LAND1>
<TELF1>9169919815</TELF1>
</E1EDKA2>
</IDOC>
</DESADV01>
Я попытался это, но не мог заставить его работать:
| rex field=_raw "<E1EDKA2>\s*<PARVW>AG</PARVW>\s*<NAME1>(?P<soldtoid>[^<]+)</NAME1>.*</E1EDKA2>"
Для приведенного выше фрагмента кода, ответ изгоняются быть: soldtoid = WILBUR ELLIS RIO LINDA.
Заранее благодарим за помощь.
* «Нужно извлечь значение родного брата ребенка с помощью регулярных выражений» * Нет, вы действительно этого не делаете. Регулярные выражения не подходят для обработки XML-данных, и даже если у вас что-то работает, оно будет хрупким и, вероятно, сломается даже при малейшем изменении данных. – Borodin