linq to xml XNamespace类

  XNamespace类表示XML文件中的一个XML命名空间。XML命名空间一般表示名称为“xmlns”的名称/值对。XNamespace类提供了4个属性获取与XML命名空间相关的值,如命名空间的URI、与XML URI相关的XNamespace对象等。XNamespace类的属性如表所示。

表  XDocument类的属性

属    性

说    明

NamespaceName

命名空间的URI。

Xml

获取与XML URI对应的XNamespace对象。

Xmlns

获取与xmlns URI对应的XNamespace对象。

None

获取不与命名空间对应的XNamespace对象。

  下面的实例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,还为Ad元素设置了ID属性、Name和Url元素及其值。最后,还为第二个Ad元素添加了注释,为第二个Ad元素的子元素URL添加了命名空间。具体步骤如下。

(1)创建Advertisements元素,并创建两个子元素Ad。其中,Ad元素包含了ID属性、Name和Url元素。第一个Ad元素的ID属性的值为1,第二个Ad元素的ID属性的值为2。

(2)使用XComment类为第二个Ad元素创建注释“This is a website.”。

(3)使用XNamespace类为第二个Ad元素的子元素URL添加了命名空间,并指定的连接地址(URL)为“http://www.microsoft.com”。

(4)使用网页显示Advertisements元素的内容。

(5)设置网页的输出格式为“text/xml”,并中止网页的输出操作。

         private void XNamespaceClass()
         {   ///创建命名空间
                   XNamespace xns = "http://www.microsoft.com";
                   ///创建一个XML元素
                   XElement element = new XElement("Advertisements",
                            new XElement("Ad",
                                     new XAttribute("ID","1"),                            ///添加属性ID 
                                    new XElement("Name","w3c"),                      ///添加元素Name                                    
 new XElement("Url","http://www.w3c.com")           ///添加元素Url
                            ),
                            new XElement("Ad",
                                     new XComment("This is a website."),                ///添加注释
                                     new XAttribute("ID","2"),                            ///添加属性ID
                                     new XElement("Name","Microsoft"),                  ///添加元素Name
                                     new XElement(xns + "Url","http://www.microsoft.com")  ///添加包含命名空间的元素Url
                            )
                   );
                   ///显示XML文件的内容
                   Response.Write(element);
                   ///设置网页显示的形式为XML文件
                   Response.ContentType = "text/xml";
                  Response.End();
         }

  Sample_11项目中的LinqtoXmlBaseClass.aspx页面测试了上述实例代码(XNamespaceClass()函数),测试结果如图所示。

 

来源:http://blog.csdn.net/linqmail/article/details/2341519

加支付宝好友偷能量挖...


评论(0)网络
阅读(111)喜欢(0)asp.net-linq