c# xml与datatable操作

来源:互联网 发布:java 调用实例的方法 编辑:程序博客网 时间:2024/05/18 02:22
<?xml version="1.0" encoding="utf-8" ?><root>  <car Brand="Ford" Name="Fox" GearBox="MT" Displacement="1.6"  ></car>  <car Brand="Das Auto" Name="Bora" GearBox="MT" Displacement="1.6"  ></car>  <car Brand="Audi" Name="A4L" GearBox="IVS" Displacement="2.0T"  ></car>  <car Brand="Nissan" Name="Sunny" GearBox="IVS" Displacement="1.5"  ></car>  <car Brand="Buick" Name="Excelle XT" GearBox="AT" Displacement="1.6"  ></car></root>

using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Xml;public partial class service : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        string a = Request["location"] == "" ? "" : Request["location"];        string num = Request["num"] == "" ? "" : Request["num"];        switch (a)        {            case "loadxml":                {                    loadxml();                    break;                }            case "select":                {                    selectxml(num);                    break;                }        }                     }    public void selectxml(string num)    {        XmlDocument xmldoc = new XmlDocument();        xmldoc.Load("file:///D:\\新建文件夹\\webset\\authors.xml");        XmlNode node = xmldoc.SelectSingleNode("//root/car[@Name='" + num + "']");        string sss = node.Attributes[0].Name + "=\"" + node.Attributes[0].Value + "\""                    + node.Attributes[2].Name + "=\"" + node.Attributes[2].Value + "\""                    + node.Attributes[3].Name + "=\"" + node.Attributes[3].Value + "\"";        Response.Write(sss);    }    public void loadxml()    {        XmlDocument xmldoc = new XmlDocument();        xmldoc.Load("file:///D:\\新建文件夹\\webset\\authors.xml");        //------------------------------------        DataTable dt = new DataTable();        for (int i = 1; i <= 4; i++)        {            dt.Columns.Add("columns" + i, System.Type.GetType("System.String"));        }

        /* update */        XmlNodeList nodelist = xmldoc.GetElementsByTagName("car");        for (int j = 0; j < 5; j++)        {            DataRow dr = dt.NewRow();

            dr["columns1"] = nodelist[j].Attributes["Brand"].Value;            dr["columns2"] = nodelist[j].Attributes["Name"].Value;            dr["columns3"] = nodelist[j].Attributes["GearBox"].Value;            dr["columns4"] = nodelist[j].Attributes["Displacement"].Value;

            dt.Rows.Add(dr);        }

        DataTable dt2 = new DataTable();        for (int l = 1; l <= 4; l++)        {            dt2.Columns.Add("columns" + l, System.Type.GetType("System.String"));        }

        DataRow[] drw = dt.Select("columns4='1.6'");

        for (int k = 0; k < drw.Length; k++)        {            DataRow drs = dt2.NewRow();

            drs["columns1"] = drw[k].ItemArray[0].ToString();            drs["columns2"] = drw[k].ItemArray[1].ToString();            drs["columns3"] = drw[k].ItemArray[2].ToString();            drs["columns4"] = drw[k].ItemArray[3].ToString();

            dt2.Rows.Add(drs);        }

        string c = "";

        for (int t = 0; t < dt2.Rows.Count; t++)        {            c += dt2.Rows[t][1].ToString() + ",";        }

        Response.Write(c);

        /* update */

}}
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title>无标题页</title>    <script src="jquery-1.4.2.js" type="text/javascript"></script> <script type="text/javascript" >$.ajax({    type:"POST",    url:"service.aspx",    data:"location=loadxml",    success:function(a){       // alert(a);              var sss = a.toString();                 for(var i=0;i< sss.split(",").length;i++){                       document.getElementById("downlist").options.add(new Option(sss.split(",")[i]));              }           }});function change(){var selectindex = document.getElementById("downlist").selectedIndex;  // alert( document.getElementById("downlist").options[selectindex].text);  $.ajax({      type:"POST",    url:"service.aspx",    data:"location=select&num="+document.getElementById("downlist").options[selectindex].text,    success:function(e){        document.getElementById("divt").innerText = e;    }});    }      </script></head><body>        <div    style="width:400px; height:400px;float:left; border:solid 0px yellow;">    <div style="float:left; width:47%; height:47%;border:solid 1px black;">    <select id="downlist"  onchange="change()"></select>    </div>    <div style="float:left; width:47%; height:47%;border:solid 1px black;"></div>    <div style="float:left; width:47%; height:47%;border:solid 1px black;"></div>    <div id="divt" style="float:left; width:47%; height:47%;border:solid 1px black;"></div></div>    </body></html>

 

下面是效果示意图


 

	
				
		
原创粉丝点击