现在的位置: 首页 > 综合 > 正文

XML的操作

2014年02月26日 ⁄ 综合 ⁄ 共 2428字 ⁄ 字号 评论关闭

一、操作XML文件

// <summary>

    /// 允许查看当天信息的用户
    /// </summary>
    public class AllowViewAction
    {
        public bool IsInAllow(string strUserId)
        {
            string ids = string.Empty;
            XmlReader xr = XmlReader.Create(HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["xmlpath"]));
            while (xr.Read())
            {
                if (xr.LocalName == "allowuserids")
                {
                    ids = xr.ReadInnerXml();
                    break;
                }
            }
            xr.Close();

            bool flag = false;
            foreach (string item in ids.Split(','))
            {
                if (item.Equals(strUserId))
                {
                    flag = true;
                    break;
                }
            }
            return flag;
        }

    }

二、操作XML字符串

protected void StringXml
    {
        string strRead=@"<?xml version='1.0' encoding='UTF-8'?><root>
                        <trades>
                        <trade>
                        <goods_id>1328</goods_id>
                        <goods_sn>3021</goods_sn>
                        <goods_name>PBA YangSang 矿物丝柔散粉806-A2柔白13g</goods_name>
                        <goods_number>1</goods_number>
                        </trade>
                        <trade>
                        <goods_id>1303</goods_id>
                        <goods_sn>1031</goods_sn>
                        <goods_name>PBA 芭蓓萃 提拉紧致蚕丝面膜25g</goods_name>
                        <goods_number>1</goods_number>
                        </trade>
                        </trades>
                        </root>";
        XmlDocument xd = new XmlDocument();
        xd.LoadXml(strRead);
        XmlNodeList nodeList = xd.SelectSingleNode("root").ChildNodes;//获取bookstore节点的所有子节点
        foreach (XmlNode xn in nodeList)//遍历所有子节点
        {
            XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
            if (xe.Name == "trades")
            {
                XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
                foreach (XmlNode xn1 in nls)//遍历
                {
                    DataRow dr = dt.NewRow();
                   
                    for (int item = 0; item < xn1.ChildNodes.Count; item++)
                    {
                        XmlElement xe2 = (XmlElement)xn1.ChildNodes[item];//转换类型                            
                        //dr[xe2.Name] = xe2.FirstChild.Value;
                        Response.Write(xe2.FirstChild.Value);
                        Response.Write("</br>");
                    }
                }
            }
        }
    }

【上篇】
【下篇】

抱歉!评论已关闭.