Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有后续消息的Zip附件_C#_Email Attachments - Fatal编程技术网

C# 带有后续消息的Zip附件

C# 带有后续消息的Zip附件,c#,email-attachments,C#,Email Attachments,我有很多XML文件,有些有附件,有些没有 有附件的会有tag something.pdf 下面是获取文件名值的代码,如果我针对一个xml文件运行该文件,则该代码有效: static void Main(string[] args) { XmlDocument xml = new XmlDocument(); xml.Load(@"C:\Temp\XML\test.xml"); XmlNodeList xnList = xml.Selec

我有很多XML文件,有些有附件,有些没有 有附件的会有tag something.pdf

下面是获取文件名值的代码,如果我针对一个xml文件运行该文件,则该代码有效:

static void Main(string[] args)
    {

        XmlDocument xml = new XmlDocument();
        xml.Load(@"C:\Temp\XML\test.xml");

        XmlNodeList xnList = xml.SelectNodes("/FileDump/Message/Attachment");
        foreach (XmlNode xn in xnList)
        {
            string FileName = xn["FileName"].InnerText;
            string FileID = xn["FileID"].InnerText;
            Console.WriteLine("Name: {0} {1}  ", FileName, FileID);              
            Console.ReadLine();

        }
我的问题如下: 如何在c:\Temp\xml目录中的所有xml文件上运行代码并读取标记文件名,然后在c:\att中查找该文件。 搜索模式应该是文件名的标记值。 一旦确定了这些附件,请将邮件和附件压缩到一个文件中


提前谢谢大家

您应该将上面的代码重构成一个循环。循环查看调用
System.IO.Directory.GetFiles
的结果,指定XML文件(*.XML)的搜索模式。它将返回一个文件名数组,您可以将该数组传递给XmlDocument以加载它们。每次识别附件时,您都可以使用DotNetZip之类的库将其与XML文件压缩,并将结果输出到文件中。如何传递文件名的标记值以在att目录中搜索具有该名称的文件?以下是我的更新代码,它没有给出预期的结果:1-提取标记值我解决了我的问题,并且如果每个人都感兴趣,我可以把代码