操作xml的几种方法

1.xml控件方法直接读取

<asp:Xml ID="Xml1" runat="server" DocumentSource="~/m.xml"></asp:Xml>

 

2.后台绑定XML控件

HTML代码:

<asp:Xml ID="xml_show" runat="server"></asp:Xml>

 

CS代码:

            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("m.xml"));
            xml_show.Document = doc;

 

3.转成DataSet 用DataGuid绑定
     HTML: 

     <asp:DataGrid ID="dg_show" runat="server"></asp:DataGrid>

     CS代码:

     DataTable dt = new DataTable();
            dt=ReaderXmlReturnTable(Server.MapPath("m.xml"));
            this.dg_show.DataSource = dt;
            this.dg_show.DataBind();

 

      public static DataTable ReaderXmlReturnTable(string Path)
        {
            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            ds = null;
            ds = Read(Path);
            dt = ds.Tables["exam"];
            return dt;
           
        }
        public static DataSet Read(string Path)
        {
            DataSet ds = new DataSet();
            try
            {
                ds.ReadXml(Path);
            }
            catch (Exception ex)
            {
               
            }
            return ds;
        }

 

4. 流水帐方式读出

       前台绑定Lable

 

       后台代码:

        public void GetXml()
        {
            XmlTextReader objXMLReader = new XmlTextReader(Server.MapPath("m.xml"));
            string strNodeResult = "";
            XmlNodeType objNodeType;
            while (objXMLReader.Read())
            {
                objNodeType = objXMLReader.NodeType;
                switch (objNodeType)
                {
                    case XmlNodeType.Attribute:
                        break;
                    case XmlNodeType.CDATA:
                        break;
                    case XmlNodeType.Comment:
                        break;
                    case XmlNodeType.Document:
                        break;
                    case XmlNodeType.DocumentFragment:
                        break;
                    case XmlNodeType.DocumentType:
                        break;
                    case XmlNodeType.Element:
                        strNodeResult += "Element:<b>" + objXMLReader.Name + "</b><br/>";
                        break;
                    case XmlNodeType.EndElement:
                        break;
                    case XmlNodeType.EndEntity:
                        break;
                    case XmlNodeType.Entity:
                        break;
                    case XmlNodeType.EntityReference:
                        break;
                    case XmlNodeType.None:
                        break;
                    case XmlNodeType.Notation:
                        break;
                    case XmlNodeType.ProcessingInstruction:
                        break;
                    case XmlNodeType.SignificantWhitespace:
                        break;
                    case XmlNodeType.Text:

                        //读取值
                        strNodeResult += "&nbsp;-Value:<b>" + objXMLReader.Value + "</b><br/>";
                        break;
                    case XmlNodeType.Whitespace:
                        break;
                    case XmlNodeType.XmlDeclaration:
                        strNodeResult += "XML Declaration:<b>" + objXMLReader.Name + "" + objXMLReader.Value + "</b><br/>";
                        break;
                    default:
                        break;
                }

                //判断该节点是否有属性
                if (objXMLReader.AttributeCount > 0)
                { //用循环判断完所有节点
                    //while (objXMLReader.MoveToNextAttibute)
                    while(objXMLReader.MoveToNextAttribute())
                    { //取标签和值
                        strNodeResult += "&nbsp;-Attribute:<b>" + objXMLReader.Name + "</b>&nbsp;value:<b>" + objXMLReader.Value + "</b><br/>";
                    }
                }
                lb_show.Text = strNodeResult;
            }
        }

 

 

--------------------------------------

待续... ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值