我可以使用XDocument来构建以下文件,该文件正常工作:
XDocument xdoc = new XDocument
(
new XDeclaration("1.0", "utf-8", null),
new XElement(_pluralCamelNotation,
new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
),
new XElement(_singularCamelNotation,
new XElement("id", "2"),
new XElement("whenCreated", "2008-12-31")
)
)
);
Run Code Online (Sandbox Code Playgroud)
但是,我需要通过迭代这样的集合来构建XML文件:
XDocument xdoc = new XDocument
(
new XDeclaration("1.0", "utf-8", null));
foreach (DataType dataType in _dataTypes)
{
XElement xelement = new XElement(_pluralCamelNotation,
new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
));
xdoc.AddInterally(xelement); //PSEUDO-CODE
}
Run Code Online (Sandbox Code Playgroud)
有Add,AddFirst,AddAfterSelf,AddBeforeSelf,但我不能让它们在这个上下文中工作.
这样的LINQ迭代是否可行?
我把Jimmy的代码建议与root标签一起使用,稍微改了一下,这正是我想要的:
var xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement(_pluralCamelNotation,
_dataTypes.Select(datatype => new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
))
)
);
Run Code Online (Sandbox Code Playgroud)
Marc Gravell 在这个StackOverflow问题上发布了一个更好的答案.
Jim*_*mmy 26
你需要一个根元素.
var xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement("Root",
_dataTypes.Select(datatype => new XElement(datatype._pluralCamelNotation,
new XElement(datatype._singlarCamelNotation),
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
))
)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25487 次 |
| 最近记录: |