【问题标题】:How should one attach an XDocument to a MailMessage in C#?如何在 C# 中将 XDocument 附加到 MailMessage?
【发布时间】:2011-05-15 23:14:06
【问题描述】:

我有一个 C# 表单,我希望将其输入转换为 xml 文档,以附加到发送给我自己的电子邮件中。到目前为止,我有一个我认为是完整的 XDocument,并且我还想出了如何将 .txt 附加到 MailMessage:

MailMessage.Attachments.Add(new Attachment("[...]\test.txt"));

我的理解是我可以使用

XDocument.Save("[...]\formData.xml");

保存文件,然后

MailMessage.Attachments.Add(new Attachment("[...]\formData.xml"));

加载并附加它,但这似乎很浪费。

有没有人有更好的方法来解决这个问题?我认为必须有一种方法可以附加 XDocument 而不必像那样进入文件系统...

【问题讨论】:

    标签: c# asp.net xml linq


    【解决方案1】:

    查看附件类;您可以通过许多其他方法添加附件,而不仅仅是从文件中添加附件,例如从流或字符串内容:

    http://msdn.microsoft.com/en-us/library/system.net.mail.attachment.aspx

    【讨论】:

    • 看起来我想让 XDocument 输出到流对象中,这有帮助。我会调查的。
    • 仅供查看此解决方案的其他人参考,我通过创建 MemoryStream 对象 (MemoryStream ms = new MemoryStream())、创建 XMLWriter 对象 (XMLWriter xw = XMLWriter.Create(ms)) 完成了实现,写入 XMLWriter (XDocument.WriteTo(xw)),关闭 XMLWriter (xw.Close()),将 MemoryStream 的位置设置为 3 以消除开头出现的一些额外字符 (mw.Position = 3),最后用流制作我的附件(新附件(mw,“formData.xml”))。干杯
    猜你喜欢
    • 2011-07-17
    • 2015-04-29
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    相关资源
    最近更新 更多