【问题标题】:How to sort files and move to their respectable directory (c#)如何对文件进行排序并移动到其可敬的目录(c#)
【发布时间】:2018-09-18 15:09:23
【问题描述】:

所以我遇到的问题是,如果 xml 文件包含“ONE”,那么它应该移动到贷方目录,否则移动到借方目录。这是我目前的解决方案:

private void SplitAndMoveCreditCamts(FileInfo f)
{      
   if (v.Elements().Contains(x => x.Value == "ONE"))
      WriteToDirectory(v, "ONE\\");    
   else    
      WriteToDirectory(v, "TWO\\");
}

它确实将文件移动到两个目录。这意味着“WriteToDirectory”方法正在工作,但忽略了“ONE”条件。我相信错误就在那里。

【问题讨论】:

  • 这里有什么?..

标签: split xelement


【解决方案1】:

我认为您的问题在于元素行(v.Elements().Contains(x => x.Value == "ONE"))

对您来说最好的解决方案是制作两个单独的方法,一个和两个,在其中调用您的 SplitAndMoveONE

private void SplitAndMoveONE(FileInfo f)
        {
            XElement[] els = GetXmlMessages(f.Name);

            foreach (var v in els)
            {
                XNamespace ns = v.Name.Namespace;
                bool exists = v.Descendants(ns + "ONE")
                 .Select(item => item.Value);

                if (exists)
                    WriteToDirectory(v, "ONE\\");
                else
                    // give error message
            }
        }

命名空间对于找到标签中的元素至关重要。这同样适用于两个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-30
    • 2021-12-30
    • 1970-01-01
    • 2012-07-27
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    相关资源
    最近更新 更多