<?xml version="1.0" encoding="GB2312" ?> 
<root result="0" /> 我怎么把result的值取出来啊<?xml version="1.0" encoding="GB2312" ?>
<root null />另外什么都没有的时候返回一个空值,这种情况下,又怎么处理呢?

解决方案 »

  1.   

    string str = @"<?xml version=""1.0"" encoding=""GB2312"" ?> 
    <root /> ";
           System.Xml.XmlDocument dom = new System.Xml.XmlDocument();
           dom.LoadXml(str);
           System.Xml.XmlNode node = dom.SelectSingleNode("//root");
           if (node != null && node.Attributes["result"] !=null)
           {           Response.Write(node.Attributes["result"].Value);
           }
      

  2.   

    目白兄,我正是因为用不了loadxml才用正则的,上面的null情况loadxml会抱错的
      

  3.   

    正则是可以,但你最好修改下xml不正确的问题。
    string str = @"<?xml version=""1.0"" encoding=""GB2312"" ?> 
    <root result=""0""/> ";
            
           
            
            Regex reg = new Regex(@"<root result=""([^""]*?)""");
            MatchCollection ms = reg.Matches(str);
            if (ms.Count > 0)
            {
                Response.Write(ms[0].Result("$1"));
            }
      

  4.   

    cpp2017 我经常能遇到你,感觉你好强啊
      

  5.   

    string yourStr = ......;
    string resultStr = Regex.Match(yourStr, "<root\\s+result=\"(.+?)\"\\s+/>", RegexOptions.IgnoreCase).Groups[1].Value;