Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在LINQtoXML中使用xname_C#_Linq_Linq To Xml - Fatal编程技术网

C# 在LINQtoXML中使用xname

C# 在LINQtoXML中使用xname,c#,linq,linq-to-xml,C#,Linq,Linq To Xml,我正在编写一些代码,以便从我的站点上的rss提要列表(已解析)生成opml文件。用户将从我的站点上的rss提要的datagrid中选择复选框,当按下一个按钮时,繁重的工作将发生 无论如何,我有这样的代码: foreach (var v in list) { XName xname; doc.Element("channel").Add( new XElement("title", v.Name),

我正在编写一些代码,以便从我的站点上的rss提要列表(已解析)生成opml文件。用户将从我的站点上的rss提要的datagrid中选择复选框,当按下一个按钮时,繁重的工作将发生

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

     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()));

    }
列表是提要对象的集合(例如,hanselman rss提要、Codinghorr rss提要等)。datagrid将有一个复选框,按下这个网格下面的按钮,上面的代码将被执行(我还得到了xml声明等的代码)


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

XName上有一个名为Get的静态方法,允许您创建XName。但是,也有一个从字符串到XName的隐式转换,因此如果您只输入一个字符串,它应该能够转换到XName,并且可以毫无问题地工作

创建一个
XNamespace
对象并使用加法操作符:

XName name = (XNamespace)"http://schemas.xyz.com/namespaceUri" + "tagName";

还可以将命名空间括在大括号中:

XName name = "{http://schemas.xyz.com/namespaceUri}tagName";