【问题标题】:OFX File parser in C#C# 中的 OFX​​ 文件解析器
【发布时间】:2011-03-22 00:58:48
【问题描述】:

我正在寻找 C# 中的 OFX​​ 文件解析器库。我在网上搜索过,但似乎没有。有谁知道任何优质的 C# OFX 文件解析器。我需要处理一些 OFX 格式的银行对账单文件。

更新 我设法找到了一个用于解析 OFX 解析器的 C# 库。

这里是链接ofx sharp。这个代码库似乎是启动我的解决方案的最佳案例。

【问题讨论】:

  • @JLWarlow - 在问这个问题之前我确实检查了那个帖子。这里我只对 C# 和 .NET 解析器库感兴趣。不是 Gnu 或其他一些库。请再次阅读我的问题。
  • ofx sharp有一个细节:在datetime中不解析时间,只解析日期

标签: c# ofx


【解决方案1】:

我尝试使用 ofx sharp 库,但意识到它不起作用是文件不是有效的 XML ...它似乎可以解析但具有空值...

我在 OFXDocumentParser.cs 中进行了更改,我首先将文件修复为有效的 XML,然后让解析器继续。不确定您是否遇到过同样的问题?

方法内部:

private string SGMLToXML(string file)

我首先添加了几行将文件放入 newfile,然后让 SqmlReader 在以下代码之后处理:

string newfile = ParseHeader(file);

newfile = SGMLToXMLFixer.Fix_SONRS(newfile);
newfile = SGMLToXMLFixer.Fix_STMTTRNRS(newfile);
newfile = SGMLToXMLFixer.Fix_CCSTMTTRNRS(newfile);


//reader.InputStream = new StringReader(ParseHeader(file));
reader.InputStream = new StringReader(newfile);

SGMLToXMLFixer 是我添加到 OFXSharp 库中的新类。它基本上会扫描所有打开的标签并验证它也有一个结束标签。

namespace OFXSharp
{
    public static class SGMLToXMLFixer
    {
        public static string Fix_SONRS(string original) 
        { .... }

        public static string Fix_STMTTRNRS(string original) 
        { .... }

        public static string Fix_CCSTMTTRNRS(string original) 
        { .... }

        private static string Fix_Transactions(string file, string transactionTag, int lastIdx, out int lastIdx_new) 
        { .... }

        private static string Fix_Transactions_Recursive(string file_modified, int lastIdx, out int lastIdx_new) 
        { .... }

    }
}

【讨论】:

    【解决方案2】:

    试试http://www.codeproject.com/KB/aspnet/Ofx_to_DataSet.aspx。该代码使用 Framework 3.5 并将 ofx 转换为数据集,这可能有助于您尝试执行的操作。

    【讨论】:

    • 已接受,因为这可能会提供一些启动选项,尽管我将在 EF Code First 中执行此操作。
    猜你喜欢
    • 2011-11-06
    • 2013-03-22
    • 2012-01-29
    • 2013-03-04
    • 1970-01-01
    • 2022-01-22
    • 2010-10-02
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多