c#请教字符串截取
c# winform vs2005 访问API接口,成功后返回的是字符串,怎么样截取有用的信息出来显示到TextBox1的文本框里。比如,成功后返回来字符串是:<?xml version="1.0" encoding="UTF-8"?><couponapi><ret>0</ret><msg>验证成功</msg><only_verify>1</only_verify><dealid>0</dealid><goods_name>您购买的书名是好好学习天天向上</goods_name><price>0</price></couponapi><ret>0</ret>                                               这个0代表成功
<msg>验证成功</msg>                                        这个就是提示成功的消息
<goods_name>您购买的书名是好好学习天天向上</goods_name>    这个是购买信息请教,怎么样判断如果<ret>0</ret> 中间=0就弹出<msg>中间的消息 :验证成功 。然后再把<goods_name>中间的购买信息的文本,显示在TextBox中呢?
如果,<ret>中间不等于0,就显示失败呢?

解决方案 »

  1.   

    loadXML 可以加载XML文档,然后进行分析。另外就是直接用string的方法来IndexOf来查找定位取出结果。
      

  2.   

    怎么样加载XML呢?在c# winform里怎么样做。
      

  3.   

    如果说你返回的字符串每一次都是相同的格式的话,你可以用截断字符串的形式来实现截取想要的内容
    substring函数能实现截断,但是此函数需要截断字符串的起始位置
    所以你需要用regex函数来查找所对应的字符串的具体的位置另一种想法是用split函数,用字符串"<ret>""</ret>""<msg>""</msg>""<goods_name>""</goods_name>"来分开字符串
      

  4.   

     string xml = @"<?xml version='1.0' encoding='UTF-8'?>
    <couponapi>
      <ret>0</ret>
      <msg>验证成功</msg>
      <only_verify>1</only_verify>
      <dealid>0</dealid>
      <goods_name>您购买的书名是好好学习天天向上</goods_name>
      <price>0</price>
    </couponapi>
    ";
                XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.LoadXml(xml);            string ret = xmlDocument.SelectSingleNode("couponapi/ret").InnerText.Trim();
                if (ret.Equals("0"))
                {
                    string goods_name = xmlDocument.SelectSingleNode("couponapi/goods_name").InnerText.Trim();
                    this.textBox1.Text = goods_name;
                }
                else
                {
                    this.textBox1.Text = "失败";
                }