2013-04-05 15 views
-1

找到一個XML格式的vaule我有下面的XML使用正則表達式

<ns1:Header> 
<ns4:Name>Mohan</ns4:Name> 
<ns4:Age>10</ns4:Age> 
<ns4:Dept>CSE</ns4:Dept> 
</ns1:Header> 

我需要寫一個正則表達式找到磨憨 標籤的名稱。這裏的命名空間(NS4)可以動態改變。請幫忙寫一個通用的正則表達式應該在所有的命名空間

+0

如果只有一個正則表達式,它看起來像:<[\ w] {3}:Name>(\ w +) 2013-04-05 12:44:18

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags?rq = 1 – 2013-04-05 12:45:28

回答

2

工作試試這個:

<ns\d+:Name>(.+)< 

但你真的必須使用正則表達式?有更好的辦法,像.NET System.Xml.XmlDocument類

+1

然後我甚至會推薦'XPathNavigator' – Aphelion 2013-04-05 12:50:17

1

binogure的解決方案似乎是正確的,我只是做了命名空間比較一般:

/<(\w+:Name)>(\w+)<\/\1>/ 

或者,如果命名空間,如果可選:

/<((?:\w+)?Name)>(\w+)(\/\1>/ 

該名稱將在第二個捕獲組中。