浅谈使用c#解析xml

来源:互联网 发布:什么软件定位经纬度 编辑:程序博客网 时间:2024/05/21 10:46

XML大家一定都很熟悉了,在C#中如何创建xml,如何读取xml数据呢,以下做了整理,希望对你有所帮助
 第一步:创建xml
   准备工作:
      导入命名空间:System.IO;System.xml
如果要创建如下的xml格式,代码如下
class Program
    {
        static void Main(string[] args)
        {
            if (File.Exists("e://Books.xml"))
            {
                File.Create("e://Books.xml");
            }
            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                XmlNode root=xmlDoc.CreateNode(XmlNodeType.Element,"Books",null);
                xmlDoc.AppendChild(root);
                XmlNode xmlElement = xmlDoc.CreateNode(XmlNodeType.Element, "book", null);
                XmlAttribute xmlAttribute = xmlDoc.CreateAttribute("id");
                xmlAttribute.InnerText = "1001";
                xmlElement.Attributes.Append(xmlAttribute);
                XmlNode xmlItemAge = xmlDoc.CreateNode(XmlNodeType.Element, "name", null);
                xmlItemAge.InnerText = "c#开发详解";
                XmlNode xmlItemAuthor = xmlDoc.CreateNode(XmlNodeType.Element, "author", null);
                xmlItemAuthor.InnerText = "不清楚";
                XmlNode xmlItemPrice = xmlDoc.CreateNode(XmlNodeType.Element, "price", null);
                xmlItemPrice.InnerText = "120";
 
                root.AppendChild(xmlElement);
                xmlElement.AppendChild(xmlItemAge);
                xmlElement.AppendChild(xmlItemAuthor);
                xmlElement.AppendChild(xmlItemPrice);
 
                XmlDeclaration declaration = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
                xmlDoc.InsertBefore(declaration,xmlDoc.DocumentElement);
                xmlDoc.Save("e://Books.xml");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
}
以上虽是一个很简单的Xml文档,但万变不离其中,只要掌握了方法,再复杂的Xml也能创建出来
第二章 读取Xml文档的值
  class Program
    {
        static void Main(string[] args)
        {
            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("E://Books.xml");
                XmlNode root = xmlDoc.DocumentElement;
                foreach (XmlNode xmlNode in root.ChildNodes)
                {
                    foreach (XmlNode xmlElement in xmlNode.ChildNodes)
                    {
                        Console.WriteLine(xmlElement.InnerText);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
}
根据xml文档的节点数,可以增加相应的循环进行解读
以上是简单的c#操作xml