C# 在LINQtoXML中使用xname
我正在编写一些代码,以便从我的站点上的rss提要列表(已解析)生成opml文件。用户将从我的站点上的rss提要的datagrid中选择复选框,当按下一个按钮时,繁重的工作将发生 无论如何,我有这样的代码: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),
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";