c#操作xml文件

c#操作xml文件  


 

主要整理下写过的代码,方便自己以后查找:
工程中首先添加引用:
using System.Da

ta;
using System.Xml;
using System.Xml.Linq;
using System.IO;
(1)读取xml文件内容:
            XmlNodeReader xmlReader = null;
            try
            {
                string strNode = "";
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("LayerInfo.xml");
                xmlReader = new XmlNodeReader(xmlDoc);
                while (xmlReader.Read())
                {
                    switch (xmlReader.NodeType)
                    {
                        case XmlNodeType.Element:
                            strNode = xmlReader.Name;
                            break;
                        case XmlNodeType.Text:
                            if (strNode.Equals("name"))
                                cbLayer.Items.Add(xmlReader.Value);
                            else if (strNode.Equals("url"))
                                lstUrl.Add(xmlReader.Value);
                            else if (strNode.Equals("fields"))
                                lstFields.Add(xmlReader.Value);
                            break;
                    }
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
            finally//清除打开的数据流
            {
                if (xmlReader != null)
                    xmlReader.Close();
            }
(2)截取xml文件指定节点的信息:
    private void ExistRole(string role,string strSecFile)
    {
        FileStream fs = new FileStream(strSecFile, FileMode.Open, FileAccess.Read);
        StreamReader streamReader = new StreamReader(fs, Encoding.Default);
        string strContent = streamReader.ReadToEnd();
        streamReader.Close();
        fs.Close();
        Regex r = new Regex(@"<Principal>(.*?)</Principal>");
        MatchCollection mc = r.Matches(strContent);
        string[] arrRoles=new string[mc.Count];
        int i=0;
        foreach (Match m in mc)
        {           
            arrRoles[i]=m.ToString().Substring(11,m.ToString().Length-23);
            i++;
        }      
    }

posted @ 2012-03-19 09:57  晴天有时下鱼  阅读(211)  评论(0编辑  收藏  举报