从字符串填充 XDocument

Posted

技术标签:

【中文标题】从字符串填充 XDocument【英文标题】:Populate XDocument from String 【发布时间】:2010-10-19 08:28:53 【问题描述】:

我正在做一些事情,并试图弄清楚是否可以从字符串加载 XDocument。 XDocument.Load() 似乎将传递给它的字符串作为物理 XML 文件的路径。

我想尝试绕过首先必须创建物理 XML 文件并直接跳转到填充 XDocument 的步骤。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您可以为此使用XDocument.Parse

【讨论】:

【参考方案2】:

您可以使用XDocument.Parse(string) 代替Load(string)

【讨论】:

【参考方案3】:

这个怎么样...?

TextReader tr = new StringReader("<Root>Content</Root>");
XDocument doc = XDocument.Load(tr);
Console.WriteLine(doc);

这取自 XDocument.Load 的 MSDN 文档,可在此处找到...

http://msdn.microsoft.com/en-us/library/bb299692.aspx

【讨论】:

但是,正如其他答案所指出的,Parse 是这样做的方法。 其实Parse内部使用了一个StringReader。 @Samuel(和支持者)并非所有的 TextReader 都是 StringReaders。这是一个使用 TextReader 的示例,它与 Parse 巧合地共享同一个阅读器这一事实无关紧要。【参考方案4】:

试试Parse 方法。

【讨论】:

以上是关于从字符串填充 XDocument的主要内容,如果未能解决你的问题,请参考以下文章

在 XDocument 中使用 ':' 字符生成 Excel - C#

强制 XDocument 使用 UTF-8 编码写入字符串

在 XDocument.SetAttributeValue 中写入一个巨大的字符串

无法使用 Xdocument 和 Linq 解析 xml 字符串

XDocument System.UriFormatException:'无效的 URI:Uri 字符串太长

XDocument保存后XML文件中的额外字符