我有一个用户控件,我嵌入了一个xml文件来存储电子邮件。现在我编译它并制作了一个dll。现在我在Windows窗体中使用此用户控件,我需要在单击按钮时在该嵌入式xml文件中写入数据。我可以使用
轻松访问嵌入式xml文件中的数据var doc = XDocument.Parse(Resource.EmailHistory);
var email=doc.Root.Elements().Select(x => x.Element("Email"));
foreach (string item in email)
{
textBox1.Text+= item;
}
但在写入嵌入式xml文件时遇到问题。请帮我解决一下这个。任何帮助将不胜感激。
Xml代码
<?xml version="1.0" encoding="utf-8" ?>
<root>
<Email>
Hello
</Email>
<Email>
There
</Email>
</root>
答案 0 :(得分:2)
您无法将数据写入嵌入式XML文件,因为它是嵌入在DLL(或可执行文件)中的资源。
您可以通过创建一个完整的新资源,然后使用UpdateResource来替换它。这并不像听起来那么简单;您必须执行以下所有操作(有关详细信息,请参阅MSDN上的Updating Resources):
为了更新XML文件而必须做的这么多工作应该告诉你,你以错误的方式处理它,并且嵌入式资源不是正确的方法。 (例如,外部文件或数据库(允许存储更多信息,并且可以进行排序,过滤和搜索)将是一个更好的解决方案。)