<?xml version="1.0" encoding="utf-8" ?>
 <Root>
 <Studio>
 <Site Name="2010年04月" KSID="11" LX="0">
<strURL>96D61791AF71CF9EC4807851E92</strURL>
<strReferer>96D61791AF71CF9EC4E92</strReferer>
<strArgs><![CDATA[ ]]></strArgs>
<strzkz>ksbh</strzkz>
<strqsdx><![CDATA[ <table]]></strqsdx>
<strjzdx><![CDATA[ </table>]]></strjzdx>
<buchong1><![CDATA[ <td style='text-align:center;'>]]></buchong1>
<buchong2><![CDATA[ </td>]]></buchong2>
<wybm>utf-8</wybm>
</Site>
 <Site Name="2010年07月" KSID="13" LX="0">
<strURL>96D61791AF71CF9EC48078542B4D739269</strURL>
<strReferer>96D61791AF71CF9EC</strReferer>
<strArgs><![CDATA[ ]]></strArgs>
<strzkz>ksbh</strzkz>
<strqsdx><![CDATA[ <table]]></strqsdx>
<strjzdx><![CDATA[ </table>]]></strjzdx>
<buchong1><![CDATA[ <td style='text-align:center;'>]]></buchong1>
<buchong2><![CDATA[ </td>]]></buchong2>
<wybm>utf-8</wybm>
</Site>
 <Site Name="2010年10月" KSID="14" LX="1">
<strURL>AA5F11AA91FBD4B96F2C835E9C08AA15CB</strURL>
<strReferer>AA5F11AA91FBD4B9B</strReferer>
<strArgs><![CDATA[ 53qC%AF%A2]]></strArgs>
<strzkz>zkz</strzkz>
<strqsdx><![CDATA[ <div style="width: 890px;">]]></strqsdx>
<strjzdx><![CDATA[         </div>
    </div>]]></strjzdx>
<buchong1><![CDATA[ ]]></buchong1>
<buchong2><![CDATA[ ]]></buchong2>
<wybm>utf-8</wybm>
</Site> </Studio>
 </Root>我想遍历该xml 中  Site 中  LX=0 
绑定到 ComboBox 控件中,
name 为 Site 中Name的值,value 为 Site 中KSID的值。请问这个遍历怎么写

解决方案 »

  1.   

    写个demo看看吧 
    应该可以把Site 这个节点 读取出来的 然后再判断  LX 这个值
      

  2.   

    public string Get(string Dir)   
            {   
                string LastDownloadAddres = "";   
                string AutoUpdaterFileName = Dir;   
                if (!File.Exists(AutoUpdaterFileName))   
                {   
                    return LastDownloadAddres;   
                }   
                //打开xml文件    
                FileStream myFile = new FileStream(AutoUpdaterFileName, FileMode.Open);   
                //xml文件阅读器    
                XmlTextReader xml = new XmlTextReader(myFile);   
                while (xml.Read())   
                {   
                    if (xml.Name == "Site"&&xml.GetAttribute("LX")=="0")   
                    {   
                        //获取升级文档的最后一次更新日期    
                           变量1 = xml.GetAttribute("Name");   
                        变量2 = xml.GetAttribute("KSID");   
                        break;   
                    }   
                }   
                xml.Close();   
                myFile.Close();   
                return LastDownloadAddres;   
            }  看看 变量1和2取出的是什么?弄个数据源存进去。剩下的自己弄了哦!
      

  3.   


     string str = @"<Root>
     <Studio>
     <Site Name='2010年04月' KSID='11' LX='0'>
    <strURL>96D61791AF71CF9EC4807851E92</strURL>
    <strReferer>96D61791AF71CF9EC4E92</strReferer>
    <strArgs><![CDATA[ ]]></strArgs>
    <strzkz>ksbh</strzkz>
    <strqsdx><![CDATA[ <table]]></strqsdx>
    <strjzdx><![CDATA[ </table>]]></strjzdx>
    <buchong1><![CDATA[ <td style='text-align:center;'>]]></buchong1>
    <buchong2><![CDATA[ </td>]]></buchong2>
    <wybm>utf-8</wybm>
    </Site>
     <Site Name='2010年07月' KSID='13' LX='0'>
    <strURL>96D61791AF71CF9EC48078542B4D739269</strURL>
    <strReferer>96D61791AF71CF9EC</strReferer>
    <strArgs><![CDATA[ ]]></strArgs>
    <strzkz>ksbh</strzkz>
    <strqsdx><![CDATA[ <table]]></strqsdx>
    <strjzdx><![CDATA[ </table>]]></strjzdx>
    <buchong1><![CDATA[ <td style='text-align:center;'>]]></buchong1>
    <buchong2><![CDATA[ </td>]]></buchong2>
    <wybm>utf-8</wybm>
    </Site>
     <Site Name='2010年10月' KSID='14' LX='1'>
    <strURL>AA5F11AA91FBD4B96F2C835E9C08AA15CB</strURL>
    <strReferer>AA5F11AA91FBD4B9B</strReferer>
    <strArgs><![CDATA[ 53qC%AF%A2]]></strArgs>
    <strzkz>zkz</strzkz>
    <strqsdx><![CDATA[ <div style='width: 890px;'>]]></strqsdx>
    <strjzdx><![CDATA[         </div>
        </div>]]></strjzdx>
    <buchong1><![CDATA[ ]]></buchong1>
    <buchong2><![CDATA[ ]]></buchong2>
    <wybm>utf-8</wybm>
    </Site> </Studio>
     </Root>
    ";
                XElement root = XElement.Parse(str);
                var q = root.Elements("Studio").Elements("Site").Where(p => p.Attribute("LX").Value.Equals("0")).
                    Select(p => new { id = p.Attribute("KSID").Value, name = p.Attribute("Name").Value });
      

  4.   

    XmlDocument doc= new XmlDocument();
    doc.Load("");
    foreach (XmlNode node in doc.GetElementsByTagName("Site "))
    {}var q = from p in XElement.Load(path).Elements("Studio").Elements("Site")
           Where p.Attribute("LX").Value.Equals("0")
          Select p;

    linq to xml
      

  5.   


      XmlDocument xml = new XmlDocument();
                xml.Load(Server.MapPath("XMLFile.xml"));
                XmlNodeList node = xml.SelectNodes("/Root/Studio/Site");
                foreach (XmlNode n in node)
                {
                    XmlElement element = (XmlElement)n;
                    if (element.GetAttribute("LX") == "0")
                    {
                        DropDownList1.Items.Add(new ListItem(element.GetAttribute("Name").ToString(), element.GetAttribute("KSID").ToString()));
                    }
                }
      

  6.   

        protected void Page_Load(object sender, EventArgs e)
        {
            Tools.CheckLogin();
            string path = Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/xml/xixi.xml");
            DataSet ds = new DataSet();
            ds.ReadXml(path);
            Session["ds"] = ds;
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string path = Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/xml/xixi.xml");
            DataSet ds = (DataSet)Session["ds"];
            //DataRow dr = ds.Tables[0].NewRow();
            if (WebUpload1.HasFile)
            {
                ds.Tables[0].Rows[0]["adname"] = TextBox1.Text;
                ds.Tables[0].Rows[0]["adimg"] = PassPicture(WebUpload1);
            }
            if (WebUpload2.HasFile)
            {
                ds.Tables[0].Rows[1]["adname"] = TextBox2.Text;
                ds.Tables[0].Rows[1]["adimg"] = PassPicture(WebUpload2);
            }
            if (WebUpload3.HasFile)
            {
                ds.Tables[0].Rows[2]["adname"] = TextBox3.Text;
                ds.Tables[0].Rows[2]["adimg"] = PassPicture(WebUpload3);
            }
            if (WebUpload4.HasFile)
            {
                ds.Tables[0].Rows[3]["adname"] = TextBox4.Text;
                ds.Tables[0].Rows[3]["adimg"] = PassPicture(WebUpload4);
            }
            if (WebUpload5.HasFile)
            {
                ds.Tables[0].Rows[4]["adname"] = TextBox5.Text;
                ds.Tables[0].Rows[4]["adimg"] = PassPicture(WebUpload5);
            }
            if (WebUpload6.HasFile)
            {
                ds.Tables[0].Rows[5]["adname"] = TextBox6.Text;
                ds.Tables[0].Rows[5]["adimg"] = PassPicture(WebUpload6);
            }
            if (WebUpload7.HasFile)
            {
                ds.Tables[0].Rows[6]["adname"] = TextBox7.Text;
                ds.Tables[0].Rows[6]["adimg"] = PassPicture(WebUpload7);
            }
            if (ds.HasChanges())
            {
                ds.WriteXml(path);
                Session["ds"] = ds;
                ClientScript.RegisterStartupScript(this.GetType(), "success", "<script>alert('上传成功!');</script>");
            }
        }
      

  7.   

    这个就行了 linq简单的很
      

  8.   


      FileStream fs = new FileStream(Server.MapPath("XMLFile.xml"),FileMode.Open);
                XmlTextReader reader = new XmlTextReader(fs);
                while (reader.Read())
                {
                    if (reader.Name == "Site" && reader.GetAttribute("LX") == "0")
                        DropDownList1.Items.Add(new ListItem(reader.GetAttribute("Name"), reader.GetAttribute("KSID")));
                }
                fs.Close();
                fs.Dispose();
                reader.Close();
      

  9.   


     FileStream fs = new FileStream(Server.MapPath("XMLFile.xml"), FileMode.Open);
                XmlTextReader reader = new XmlTextReader(fs);
                while (reader.Read())
                {
                    if (reader.Name == "Site" && reader.GetAttribute("LX") == "0")
                        DropDownList1.Items.Add(new ListItem(reader.GetAttribute("Name"), reader.GetAttribute("KSID")));
                }
                fs.Close();
                fs.Dispose();
                reader.Close();