在Linq-to-xml中使用xname

Gur*_*epS 8 c# linq linq-to-xml

我正在编写一些代码来从我网站上的rss feed(已解析)列表中生成一个opml文件.用户将从我的站点上的rss feed的数据网格中选择复选框,并且当按下按钮时,将发生繁重的提升.

无论如何,我有这样的代码:

     foreach (var v in list)
    {
        XName xname;

        doc.Element("channel").Add(
            new XElement("title", v.Name),
            new XElement("description", "First Article Description"),
            new XElement("pubDate", DateTime.Now.ToUniversalTime()),
            new XElement("guid", Guid.NewGuid()));

    }
Run Code Online (Sandbox Code Playgroud)

list是feed对象的集合(例如hanselman rss feed,codinghorror rss feed等).datagrid将有一个复选框并按下该网格下面的按钮,上面的代码将执行(我还获得了xml声明的代码等).

当我使用Element(...)方法时,我需要提供XName.这有一个我无法使用的内部构造函数.如何传递此参数?

Joe*_*ung 16

您还可以在花括号中包含命名空间:

XName name = "{http://schemas.xyz.com/namespaceUri}tagName";
Run Code Online (Sandbox Code Playgroud)


Lor*_*nVS 11

XName上有一个名为Get的静态方法,允许您创建XName.但是,还有一个从字符串到XName的隐式转换,所以如果你只输入一个字符串,它应该能够转换为XName并且可以正常工作