日期:2014-05-17  浏览次数:20876 次

额,正则表达式。。。就不会这个。。。会的来帮帮忙吧
<NewDataSet>
   <Table>
     <ID>2</ID>
     <命令名称>记事本</命令名称>
     <命令路径>C:\Windows\System32\notepad.exe</命令路径>
   </Table>
 </NewDataSet>



将<命令路径>C:\Windows\System32\notepad.exe</命令路径>中地址提取出来就行了。。。会的老大哥们帮帮忙啊。。。
------最佳解决方案--------------------
Replace是替换, 不是提取

 vb.cmdPath = Regex.Match(vb.cmdPath, @"(?<=<(命令路径)>).*?(?=</\1>)").Value;
------其他解决方案--------------------
(?<=<(命令路径)>).*?(?=</\1>)
------其他解决方案--------------------
引用:
(?<=<(命令路径)>).*?(?=</\1>)



老大,您用的什么方法?我是用的:
 vb.cmdPath = Regex.Replace(vb.cmdPath, @"(?<=<(命令路径)>).*?(?=</\1>)","");
这样好像正好反过来了。。。老大帮忙。。。小弟初学。。。
------其他解决方案--------------------
这里是xml,为啥不用xpath而用正则表达式呢
------其他解决方案--------------------
引用:
这里是xml,为啥不用xpath而用正则表达式呢


我是把数据集转换成XML输出放到string里了,现在就要那个地址。。。
------其他解决方案--------------------
string xml = @" 。。。";
XElement xmlPage = XElement.Parse(xml);   
  var query = xmlPage.Descendants("").Where(x=>x.Element("").Value)一样读取
------其他解决方案--------------------
引用:
Replace是替换, 不是提取

 vb.cmdPath = Regex.Match(vb.cmdPath, @"(?<=<(命令路径)>).*?(?=</\1>)").Value;


谢谢老大指点,非常感谢