在下面的XML片段中,當Parent節點是E1EDKA2並且元素PARVW等於AG時,我需要提取NAME1的值並將其存儲在變量中。需要使用正則表達式提取兄弟孩子的值
<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>"
對於上面的代碼中,答案shud是:soldtoid = WILBUR ELLIS RIO LINDA。
在此先感謝您的幫助。
*「需要使用正則表達式來提取同級子值」 *號,你真的不知道。正則表達式不適合處理XML數據,即使你有一些工作,它也會很脆弱,並且可能會隨着數據的輕微變化而中斷。 – Borodin