<?xml version="1.0" encoding="utf-8"?>
<datas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
  <Result>0</Result>
  <Count>2</Count>
  <Sms>
    <UpSms>
      <UpSmsID>121</UpSmsID>
      <MobileNum>13674953800</MobileNum>
      <DestTermID>123981000022525</DestTermID>
      <SubNumber>2525</SubNumber>
      <MsgContent>大家</MsgContent>
      <UpSmsDate>2008-11-20 11:31:10</UpSmsDate>
    </UpSms>
    <UpSms>
      <UpSmsID>122</UpSmsID>
      <MobileNum>13674953800</MobileNum>
      <DestTermID>123981000022525</DestTermID>
      <SubNumber>2525</SubNumber>
      <MsgContent>经营业务</MsgContent>
      <UpSmsDate>2008-11-20 13:58:12</UpSmsDate>
    </UpSms>
  </Sms>
</datas>xml文件形如:
在c#中读出数据.每段数据在UpSms段中string s = "<?xml version='1.0' encoding='utf-8'?><datas xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns='http://tempuri.org/'><Result>0</Result><Count>2</Count><Sms><UpSms><UpSmsID>121</UpSmsID><MobileNum>13674953800</MobileNum><DestTermID>123981000022525</DestTermID><SubNumber>2525</SubNumber><MsgContent>大家</MsgContent><UpSmsDate>2008-11-20 11:31:10</UpSmsDate></UpSms><UpSms><UpSmsID>122</UpSmsID><MobileNum>13674953800</MobileNum><DestTermID>123981000022525</DestTermID><SubNumber>2525</SubNumber><MsgContent>经营业务</MsgContent><UpSmsDate>2008-11-20 13:58:12</UpSmsDate></UpSms></Sms></datas>";
            XmlDocument xmlDocument;
            xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(s);
            XmlNodeList nodelist = xmlDocument.SelectNodes("datas/Sms/UpSms");
            foreach (XmlElement node in nodelist)
            {
                string mob = node["MobileNum"].InnerText;//取得手机号
                MessageBox.Show("手机号" + mob);
            }发现得不到值!,请问为什么?

解决方案 »

  1.   

    我想把所有MobileNum的值都取出来.发现MessageBox.Show("手机号" + mob);没有执行.各位麻烦看一下.是我哪里弄错了
      

  2.   

       foreach (XmlNode e in xe)
                      {
                          if (e.InnerText != null)
                          {
                              string from = e.InnerText;                          Console.WriteLine(from);
                          }
                      }
                      
                    foreach (XmlNode x in xnl)
                    {
                        string na = x.Name;
                       string value = x.InnerText;//根目录 XmlNodeList node = x.ChildNodes;                                                                                                                                                                                               
                        foreach (XmlNode code in node)                                                                                  {                        XmlNodeList da = code.ChildNodes;
                            if (node.Count > 0)
                           {
                               foreach (XmlElement e in da)
                                {
                                   string name = e.Name;      //最后一层
                                    string value2 = e.InnerText;
                                   //Console.WriteLine(name);
                                   //Console.WriteLine(value2);
      

  3.   

    注意带Namespace的Xpath查询
     string s = "<?xml version='1.0' encoding='utf-8'?><datas xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns='http://tempuri.org/'><Result>0</Result><Count>2</Count><Sms><UpSms><UpSmsID>121</UpSmsID><MobileNum>13674953800</MobileNum><DestTermID>123981000022525</DestTermID><SubNumber>2525</SubNumber><MsgContent>大家</MsgContent><UpSmsDate>2008-11-20 11:31:10</UpSmsDate></UpSms><UpSms><UpSmsID>122</UpSmsID><MobileNum>13674953800</MobileNum><DestTermID>123981000022525</DestTermID><SubNumber>2525</SubNumber><MsgContent>经营业务</MsgContent><UpSmsDate>2008-11-20 13:58:12</UpSmsDate></UpSms></Sms></datas>";
                XmlDocument xmlDocument;
                xmlDocument = new XmlDocument();
                xmlDocument.LoadXml(s);            XmlNamespaceManager nsMgr = new XmlNamespaceManager(xmlDocument.NameTable);
                nsMgr.AddNamespace("tempuri", "http://tempuri.org/");
                XmlNodeList nodelist = xmlDocument.SelectNodes("tempuri:datas/tempuri:Sms/tempuri:UpSms", nsMgr);
                foreach (XmlElement node in nodelist)
                {
                    string mob = node["MobileNum"].InnerText;//取得手机号
                    MessageBox.Show("手机号" + mob);
                }
      

  4.   

    XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlDocument.NameTable);
                nsmgr.AddNamespace("ab", "http://tempuri.org/");
                XmlNodeList nodelist = xmlDocument.SelectNodes("ab:datas/ab:Sms/ab:UpSms", nsmgr);
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/