我有一個(gè)問(wèn)題正在嘗試解決。我有 2 種格式的 xml 請(qǐng)求<?xml version="1.0" encoding="UTF-8"?><Request xmlns="urn:x-facebook-com:DEF.plan.services.test"> <OneRequest> <page_number>1</page_number> <page_size>25</page_size> <origin>TEST</origin> <item_name/> </OneRequest></Request><?xml version="1.0" encoding="UTF-8"?><Request xmlns="urn:x-google-com:ABC.plan.services.plans"> <SecondRequest/></Request>在這兩種情況下,我都想提取 后的第一個(gè)標(biāo)簽名稱<Request>。即OneRequest和SecondRequest(這些將是動(dòng)態(tài)的,并且有 100 個(gè))。我嘗試使用正則表達(dá)式,但沒(méi)有得到我想要的。任何意見(jiàn)或建議將不勝感激。也確實(shí)看到了有關(guān) xml 解析器的帖子,但這似乎有點(diǎn)過(guò)分了,因?yàn)槲一旧舷胍闹皇侵蟮牡谝粋€(gè)標(biāo)簽<Request>我的嘗試String[] requestTags = requestBody.split("</");String requestName = requestTags[requestTags.length-2].replaceAll("[^a-zA-Z0-9]",不是最好的,它適用于第一種類型,但在第二種類型中完全混亂
1 回答

UYOU
TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
您基本上只需要\s
正則表達(dá)式中的選項(xiàng)即可實(shí)現(xiàn)此目的:
使用此正則表達(dá)式,并從組中獲取值tagname
:<Request .*?>\s*<(?<tagname>.*?)>
添加回答
舉報(bào)
0/150
提交
取消