一周前才开始使用C#。 开发适配器/程序以处理文件夹中的xml文档并将输出写入excel文件。 我能够完成任务 - 使用xml,xml.linq类。 - 现在我已经开始自动化这个过程。 (这样我可以专注于我的任务的第二部分,处理一组.DAT文件)
在上面的任务中,我一次读取每个文档,然后在类似类型的xml上“联合” - (其中一些被分成多个文件)然后处理它们。
我想用我的程序做的是将xml文档传输到共享文件夹(windows) - 我希望程序开始处理xml文件并将进程的输出写入excel文件
任何指针 - 关于寻找什么都会有很大的帮助。
************************(update)[ratna:11th Aug 2011,6AM IST]
**********************************sample code**************
class FM
{
static void Main(string[] args)
{
FM LetsLoad = new FM();
IEnumerable<XElement> loadedcustDoc = LetsLoad.LoadCustDocuments();
Cust checkCustTrav = new Cust();
checkCustTrav.CustTrav(loadedcustDoc);
/* to process the loaded documents and to output result to excel
*
*/
//Console.ReadLine();
}
public IEnumerable<XElement> LoadCustDocuments()
{
// Loading Customer **** Start***
XDocument CustDoc1 = XDocument.Load(@"J:\dot\custtemp1.xml");
XDocument CustDoc2 = XDocument.Load(@"J:\dot\custtemp2.xml");
IEnumerable<XElement> CustEList1 = CustDoc1.Root.Descendants("Customer");
IEnumerable<XElement> CustEList2 = CustDoc2.Root.Descendants("Customer");
IEnumerable<XElement> CustEListComb = CustEList1.Union(CustEList2)
return CustEListComb;
}
}
的 的 ** * ** * ** * 的** * ** * ** * * 示例代码结束 **** 谢谢大家提供的输入。 是的,我想看看添加文件的文件夹。 添加文档后,加载文档进行处理。 此处理由此示例中的Cust类处理。 LoadCustDocuments是我想要自动读取所有XML的方法,只加载文件名中带有“cust”的文件,将它们与“Union”组合成一个IEnumerable并返回进行处理。[假设这是最好的负载方式]
我将阅读所提供的输入,然后回复。
答案 0 :(得分:0)
创建一个Windows服务,使用FileSystemWatcher知道何时加载文件添加到目录中。具体处理Created事件。注意通过网络加载的文件,并在整个文件完成复制之前触发Created事件。你需要使用一些东西来暂停你的线程直到它完成。
答案 1 :(得分:0)
我不确定问题究竟是什么...我怀疑你想知道如何在文件夹中有文件时获得某种通知......因为你可以使用FileSystemwatcher - 见{{3 }}
答案 2 :(得分:0)
您在寻找FileSystemWatcher班吗?
这适用于等待文件出现在文件夹中的情况。