随笔 - 705  文章 - 0  评论 - 1103  阅读 - 138万 

System.Xml.Linq 命名空间中,有一系列新的LINQ to XML 帮助对象,使处理内存中的XML文档变的非常简单。

示例使用的Hamlet.xml来源自C#高级编程源代码。

XDocument

XDocument 代替了.Net 3.5 之前的XmlDocument 对象,它更容易处理XML文档。

XDocument 可以和下面要说到的XML对象一起使用。

XDocument 有两个重要的方法Load() 和 Save() 方法,这两个方法的功能和名字一样好理解就是加载和保存XML格式的文本或者流信息。

using System.Xml.Linq;
public void LoadAndSave()
        {
            //真实使用的时候最好不要在网站中,避免XML被直接下载。
            XDocument xdoc = XDocument.Load(Server.MapPath("hamlet.xml"));
            Response.Write(xdoc.Root.Name.ToString() + "<br />");
            Response.Write(xdoc.Root.HasAttributes.ToString() + "<br />");
            
            //另存一份到C盘根目录
            xdoc.Save(@"C:\CopyOfHamlet.xml");
        }

XElement

XElement是一个非常常用的对象,他用于表示或者创建一个代表XML元素的对象,这个元素的范围没有限制,可能是XML根元素也可以是最小的叶子元素。

public void MyXElement()
        {
            //建立一个层次元素
            //XElement 的第一个参数是元素名称,第二个参数是元素的值
            XElement xe = new XElement("Company",
                   new XElement("CompanyName", "Lipper"),
                   new XElement("CompanyAddress",
               new XElement("Address", "123 Main Street"),
               new XElement("City", "St. Louis"),
               new XElement("State", "MO"),
               new XElement("Country", "USA")));
          
            TextBox1.Text = xe.ToString();
        
        }

 

XNamespace

XNamespace 可以为任何一个XML元素添加命名空间标识属性。

public void MyXNamespace()
        {
            //定义并添加一个命名空间
            XNamespace xn = "http://terryfeng.cnblogs.com";
            XElement xe = new XElement(xn + "Company",
                      new XElement("CompanyName", "Lipper"),
                      new XElement("CompanyAddress",
                  new XElement("Address", "123 Main Street"),
                  new XElement("City", "St. Louis"),
                  new XElement("State", "MO"),
                  new XElement("Country", "USA")));

            TextBox1.Text = xe.ToString();
        
        }

XComment

XComment 用于将XML注释<!-- 注释--> 添加到XML内容当中。

public void MyXComment()
        {
            XDocument xdoc = new XDocument();
            XComment xc1 = new XComment("XML 注释1");
            xdoc.Add(xc1);
            XElement xe = new XElement("元素名", new XComment("下面是元素的值"), "元素值");
            xdoc.Add(xe);
            XComment xc2 = new XComment("XML 注释2");
            xdoc.Add(xc2);
            TextBox1.Text =  xdoc.ToString();
        }

XAttribute

XAttribute 可以猜到这个与XML属性有关的重要属性,使用的频率也是非常的多,他可以代表一个XML属性或者添加一个XML属性。

public void MyXAttribute()
        {
            XElement xe = new XElement("Company",
                new XAttribute("AttributeName", "AttributeValue"),
                      new XElement("CompanyName", "Lipper"),
                      new XElement("CompanyAddress",
                  new XElement("Address", "123 Main Street"),
                  new XElement("City", "St. Louis"),
                  new XElement("State", "MO"),
                  new XElement("Country", "USA")));

            TextBox1.Text = xe.ToString();
        }
posted on   冯瑞涛  阅读(500)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示