appinfo是节点            XmlDocument doc = new XmlDocument();
            doc.Load(xmlpath);
            XmlNode songNode = doc.SelectSingleNode("/info");
            foreach (XmlNode item in songNode.ChildNodes)
           {
                      string appname=item.ChildNodes[0].InnerText;
                      string appPackageName=item.ChildNodes[1].InnerText;
           }

解决方案 »

  1.   

    <?xml version="1.0" encoding="UTF-8"?>
    -<info>
     -<appinfo> <appname>helper</appname>
     <appPackageName>com.zk.helper</appPackageName> 
    </appinfo>
    .....
     XmlNode songNode = doc.SelectSingleNode("/info");
      

  2.   

    http://blog.csdn.net/duanzi_peng/article/details/24018431
      

  3.   

    XmlNode songNode = doc.SelectSingleNode("/info");info是区分大小写的,字符一定要对得上
      

  4.   

    XmlDocument doc = new XmlDocument();
                 doc.Load(xmlpath);
                 XmlNode songNode = doc.SelectSingleNode("info");
                 foreach (XmlNode item in songNode.ChildNodes)
                {    
                           string appname=item.ChildNodes[0].InnerText;
                           string appPackageName=item.ChildNodes[1].InnerText;
                } 
    你写错了,你写了appinfo,那个不是主节点,不唯一
      

  5.   

    目测你xml文件里没有-</info>
    只有开始,没有结束,你下面那些节点根本没有包含到info里
      

  6.   

    你获取的是appinfo下的子节点,所以select哪里要用//appinfo节点名(或者先选择info节点,然后再选择appinfo)。然后要判断songNode是否为空,为空就不用froeach循环了。
      

  7.   

    用C#操作XML文件
    protected void Button1_Click(object sender, EventArgs e)
        {
            string filename = TextBox1.Text;//创建一个表示所要生成的XML文件路径和文件字称的字符串
            // 创建一个写入XML数据的文件流
            System.IO.FileStream myFileStream = new System.IO.FileStream(filename, System.IO.FileMode.Create);
            // 使用文件流对象创建一个XmlTextWriter对象
            System.Xml.XmlTextWriter myXmlWriter = new System.Xml.XmlTextWriter(myFileStream, System.Text.Encoding.Unicode);
            // 指定文件输出的格式
            myXmlWriter.Formatting = System.Xml.Formatting.Indented;
            try
            {
                //CodeGo.net/
                /// 使用WriteXMLbyXmlWriter方法把数据写入XmlTextWriter对象中
                WriteXMLbyXmlWriter(myXmlWriter, "ZHY", 180, 6, 49020000);
                /**/
                /// 通过Close方法的调用,XmlTextWriter对象的数据最终写入XML文件
                myXmlWriter.Close();
                Response.Write("<script>alert('生成XML文档成功!');</script>");
            }
            catch
            {
                Response.Write("<script>alert('生成XML文档失败!请检查路径是否正确,以及是否有写入权限');</script>");
            }
        }    private void WriteXMLbyXmlWriter(System.Xml.XmlWriter writer, string symbol, double price, double change, long volume)
        {
            writer.WriteStartElement("Stock");
            writer.WriteAttributeString("Symbol", symbol);
            writer.WriteElementString("Price", System.Xml.XmlConvert.ToString(price));
            writer.WriteElementString("Change", System.Xml.XmlConvert.ToString(change));
            writer.WriteElementString("Volume", System.Xml.XmlConvert.ToString(volume));
            writer.WriteEndElement();
        }