大家好!我要读取一个省市县级别的xml文档并赋值给三个dropdownlist可是不知道该怎么读取xml?请大家帮忙.....
xml:<?xml version="1.0" encoding="utf-8" ?> 
- <area Country="China">
- <province ID="1" provinceID="110000" province="北京市">
- <City CityID="110100" City="市辖区">
  <Piecearea PieceareaID="110101" Piecearea="东城区" /> 
  <Piecearea PieceareaID="110102" Piecearea="西城区" /> 
  <Piecearea PieceareaID="110103" Piecearea="崇文区" /> 
  <Piecearea PieceareaID="110104" Piecearea="宣武区" /> 
  <Piecearea PieceareaID="110105" Piecearea="朝阳区" /> 

解决方案 »

  1.   

    你这是XML文件吗??
    根节点是那个啊?
      

  2.   

    - <area Country="China">
    - <province ID="1" provinceID="110000" province="北京市">
    - <City CityID="110100" City="市辖区">
      <Piecearea PieceareaID="110101" Piecearea="东城区" /> 
      <Piecearea PieceareaID="110102" Piecearea="西城区" /> 
      <Piecearea PieceareaID="110103" Piecearea="崇文区" /> 
      <Piecearea PieceareaID="110104" Piecearea="宣武区" /> 
      <Piecearea PieceareaID="110105" Piecearea="朝阳区" /> 
      <Piecearea PieceareaID="110106" Piecearea="丰台区" /> 
      <Piecearea PieceareaID="110107" Piecearea="石景山区" /> 
      <Piecearea PieceareaID="110108" Piecearea="海淀区" /> 
      <Piecearea PieceareaID="110109" Piecearea="门头沟区" /> 
      <Piecearea PieceareaID="110111" Piecearea="房山区" /> 
      <Piecearea PieceareaID="110112" Piecearea="通州区" /> 
      <Piecearea PieceareaID="110113" Piecearea="顺义区" /> 
      <Piecearea PieceareaID="110114" Piecearea="昌平区" /> 
      <Piecearea PieceareaID="110115" Piecearea="大兴区" /> 
      <Piecearea PieceareaID="110116" Piecearea="怀柔区" /> 
      <Piecearea PieceareaID="110117" Piecearea="平谷区" /> 
      </City>
    - <City CityID="110200" City="县">
      <Piecearea PieceareaID="110228" Piecearea="密云县" /> 
      <Piecearea PieceareaID="110229" Piecearea="延庆县" /> 
      </City>
      </province>
    </area>
      

  3.   

    xml是上面这样的这只是其中一小部分
    <area>
    <province>
    <city>
    <Piecearea >
    </Piecearea >
    </city>
    </province>
    </area>
    是这种格式的?帮帮忙吧!谢了!
      

  4.   

    function showmsg(){
       // t1.innerText="";//清空表格
        var xml=xmlHttp.responseXML
        if(xml==null)return;
        var root=xml.documentElement;//得到xml文档对象
        var list=document.getElementById("gvdiv");
        var s="<table id='xmlTable' border='1' cellpadding='0' cellspacing='0' bordercolor='#F7CEFF' style:'border-collapse:collapse align=center'><tr><TD bgColor='#FAF0FF' width='40' height='25' align=center>序号</td><TD bgColor='#FAF0FF' width='130' height='25' align=center>配色代码</TD><TD bgColor='#FAF0FF' width='150' height='25' align=center>中文名称</TD><TD bgColor='#FAF0FF' width='250' height='25' align=center>英文名称</TD><TD bgColor='#FAF0FF' height='25' width='100' align=center>操作</TD></tr>";
        if(root)                                                //如果存在
        {
         //遍历每条数据,添加到频道数组中
         for(var i=0;i<root.childNodes.length;i++){//遍历行
            var rootlist=root.childNodes[i];
                var s1="<tr>";
                s1+="<TD bgColor='#FAF0FF' height='25'>"+rootlist.childNodes[0].text+"</TD>";
                s1+="<TD bgColor='#FAF0FF' height='25'>"+rootlist.childNodes[1].text+"</TD>";
                s1+="<TD bgColor='#FAF0FF' height='25'>"+rootlist.childNodes[2].text+"</TD>";
                s1+="<TD bgColor='#FAF0FF' height='25'>"+rootlist.childNodes[3].text+"</TD>";
                s1+="<TD bgColor='#FAF0FF' height='25'><a href=\"javascript:Goto();\" onclick='{if(confirm(\"确定要删除【配色明细单】吗?\")) {deleteCurrentRow(this); }else {}}'>删除</a></TD>";
            s1+="</tr>";
            s+=s1;
          }
       }
        list.innerHTML=s+"</table>"; 
    }给你参考下,用js读取
      

  5.   

    var xmlHttp;
    function createXmlHttpRequest()
    {
        if(window.XMLHttpRequest){
            xmlHttp=new XMLHttpRequest();
            if(xmlHttp.overrideMimeType){
                xmlHttp.overrideMimeType("text/xml");
            }
        }else if(window.ActiveXObject){
            try{
                xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");   
            }catch(e){
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");   
            }
        }
        if(!xmlHttp){
            window.alert("你的浏览器不支持创建XMLhttpRequest对象");
        }
        return xmlHttp;
    }
    function Goto(){}
    function deleteCurrentRow(obj){
      var tr=obj.parentNode.parentNode;
      var tbody=tr.parentNode; 
      tbody.removeChild(tr);
      

  6.   

     //XmlTextReader类实现的查找程序
        public static string GetXML_XmlTextReader(string keyName)
        {
            //XMLTextReader读取XML文件
            XmlTextReader xmltextreader = new XmlTextReader(System.Web.HttpContext.Current.Server.MapPath("phonebook.xml"));
            if (keyName == "")
            {
                string outMsg = "";
                string currentNodeName = "";
                int i = 1;
                //利用xmltextreader对象的Read()方法循环读取文件的节点
                while (xmltextreader.Read())
                {
                    //当节点类型是元素的时候,记录该节点名称
                    if (xmltextreader.NodeType == System.Xml.XmlNodeType.Element)
                    {
                        currentNodeName = xmltextreader.LocalName.ToString();
                    }
                    if (xmltextreader.NodeType == System.Xml.XmlNodeType.Text)
                    {
                        //把这个人的属性组织成文本串,便天页面输出
                        outMsg += "<tr bgColor=#fff5b1><td>" + currentNodeName + "</td><td>" + xmltextreader.Value + "</td></tr>";
                    }
                    if (xmltextreader.NodeType == System.Xml.XmlNodeType.Element && xmltextreader.LocalName.Equals("member"))
                    {
                        outMsg += "<tr><td>联系人:</td><td><font color=red>(" + (i++) + ")</font></td></tr>";
                    }
                }
                outMsg = "<table>" + outMsg + "</table>";
                //关闭xmltextreader
                xmltextreader.Close();            //显示联系人的详细信息
                //Response.Write(outMsg);
                return outMsg;
            }
            else
            {
                //XmlTextReader xmltextreader = new XmlTextReader(System.Web.HttpContext.Current.Server.MapPath("phonebook.xml"));
                bool findflag = false;
                string outMsg = "<table><tr><td collspan=2><font color=red>已经查找到下列联系人:</font></td></tr>";
                string currentNodeName = "";
                //利用xmltextreader对象的Read()方法自我表现读取文件的节点
                while (xmltextreader.Read())
                {
                    //当找到了要查找的人,并且当前节点为元素,并且节点名称为"member"时退出循环
                    if (findflag == true && xmltextreader.NodeType == System.Xml.XmlNodeType.Element && xmltextreader.LocalName.Equals("member"))
                    {
                        break;
                    }
                    //当节点类型是元素的时候,记录该节点名称
                    if (xmltextreader.NodeType == System.Xml.XmlNodeType.Element)
                    {
                        currentNodeName = xmltextreader.LocalName.ToString();
                    }
                    //还没有查找到指定的人,并且当前节点类型为文本,并且当前节点的节点值与要查找的人符合时
                    if ((findflag == false) && (xmltextreader.NodeType == System.Xml.XmlNodeType.Text) && (xmltextreader.Value == keyName))//当为文本类型同时对应的值为要查找的人的时候
                    {
                        findflag = true;//设置找到了要查找的人的标志
                    }
                    //如果已经找到,并且当前节点类型为文本时,循环记录这个人的所有信息
                    if (findflag == true && xmltextreader.NodeType == System.Xml.XmlNodeType.Text)
                    {
                        outMsg += "<tr bgcolor=#fff5b1><td align=right>" + currentNodeName + ":</td><td>" + xmltextreader.Value + "</td></tr>";
                    }
                    //如果已经找到了这个人,同时Xtr当前为文本类型,那么
                }
                //关闭xmltextreader
                xmltextreader.Close();
                outMsg += "</table>";            //显示查找的人的详细信息
                //Response.Write(outMsg);
                return outMsg;
            }
        }
        //利用XmlNodeReader实现查找的程序
        public static string GetXML_XmlNodeReader(string keyName)
        {
            XmlDocument xml = new XmlDocument();
            bool findNode = false;        try
            {
                xml.Load(System.Web.HttpContext.Current.Server.MapPath("phonebook.xml"));
            }
            catch
            { }        XmlNodeReader read = new XmlNodeReader(xml);
            while (read.Read())
            {
                if (read.NodeType == System.Xml.XmlNodeType.Element && read.LocalName.ToString().Equals(keyName))
                {
                    read.Read();
                    if (read.NodeType == System.Xml.XmlNodeType.Text)
                    {
                        //Response.Write(read.Value);
                        return read.Value;
                        //break;
                    }
                }
            }
            return "";
        }
    读XML的方法,参考一下吧