XElement创建问题

时间:2010-10-17 13:48:12

标签: c#

我正在尝试创建一个像

这样的结构
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="namespace1"
        xmlns:image="namespace2">
  <url> 
    <loc>http://www.example.com/foo.html</loc> 
    <image:image>
       <image:loc>http://example.com/image.jpg</image:loc> 
    </image:image>
  </url>
</urlset>

有关如何使用XLinq创建图像元素的任何想法吗?

谢谢

2 个答案:

答案 0 :(得分:1)

您正在寻找XNamespace class

例如:

XNamespace image = "namespace2";

var element = new XElement(image + "image",
    new XElement(image + "loc", someUrl)
);

答案 1 :(得分:1)

我不确定你是否可以得到你所追求的,但是这个:

XNamespace ns1 = "namespace1";
XNamespace ns2 = "namespace2";

new XElement(ns1 + "urlset",
    new XElement(ns1 + "loc", "http://www.example.com/foo.htm"),
    new XElement(ns2 + "image",
        new XElement(ns2 + "loc", "http://example.com/image.jpg"))).Dump();

应该给你相同的信息。

<urlset xmlns="namespace1">
  <loc>http://www.example.com/foo.htm</loc>
  <image xmlns="namespace2">
    <loc>http://example.com/image.jpg</loc>
  </image>
</urlset> 
相关问题