string xmlString="<newvote>...</newvote>"
XmlDocument doc=new XmlDocument();
doc.LoadXml(xmlString);
string haha=doc.DocumentElement.FirstChild.ChildNodes[1].InnerText;
string haha1=doc.DocumentElement.SelectSingleNode("vote/haha").InnerText;

解决方案 »

  1.   

    XmlDocument xd_test1=new XmlDocument();
    xd_test1.Load(Server.MapPath("你的xml文件名"));
    XmlNode xn_root=xd_test1.DocumentElement;
    XmlNodeList xnl1=xn_root.SelectNodes("vote/haha");
    foreach (XmlNode isbn in xnl1)
    {
    Page.Response.Write(isbn.FirstChild.Value);
    }
      

  2.   

    chyich你好
    我现在不知道haha这个位置上具体是什么,也可能是其他的字符
    而且我只想读出这么一个字符串,其他的不要
    麻烦帮我看看吧
      

  3.   

    因为我现在做的是一个网上调查,可以在后台自动生成,生成的是xml文件
    比如
    <?xml version="1.0"?>
    <newvote>
      <vote group="你觉得这个站点怎么样?">
        <allvote>10</allvote>
        <很好>1</很好>
        <好>1</好>
        <一般>1</一般>
        <差>1</差>
          </vote>
    </newvote>但是调查的选项都是用户自己添加的,比如他也可能在很好的地方写上非常好,我现在就是想把这个数据读出来,你看看该怎么做呀?
      

  4.   

    你的意思是说:
    <很好>1</很好> 
    就是说用户不写1,会写非常好?
    如果你的元素是不变的,只要改改
    XmlNodeList xnl1=xn_root.SelectNodes("vote/haha");
    这个就可以了,还是有点不明白你的意思.
      

  5.   

    用户可能写成
    <非常好>1</非常好>
    这下懂了吗?
      

  6.   

    不知这样能不能实现你的要求:
    XmlDocument xd_test1=new XmlDocument();
    xd_test1.Load(Server.MapPath("test1.xml"));
    XmlNode xn_root=xd_test1.DocumentElement;
    XmlNodeList xnl1=xn_root.SelectNodes("vote");
    foreach (XmlNode xn in xnl1)
    {
    XmlNodeList xnl2=xn.ChildNodes;
    foreach (XmlNode xn1 in xnl2)
    {
    if (xn1.Name!="allvote")
    {
    Page.Response.Write(xn1.FirstChild.Value + "<br>");
    }
    }
    }
      

  7.   

    郁闷啊,很久前的还没解决,楼上的把选票的数目给读出来了,我要的不是这个而是<很好>的这个结点,而这个结点又是用户动态添加的,也就是说我事先并不知道这个结点上写的是“很好”,有人告诉我吗?
      

  8.   

    先找到vote节点
    再对它的子节点编历
    节点名是Name属性,值是Value属性