C#中的OFX文件解析器

时间:2010-07-28 08:44:45

标签: c# ofx

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

更新 我设法找到一个C#库来解析OFX解析器。

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

2 个答案:

答案 0 :(得分: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) 
        { .... }

    }
}

答案 1 :(得分:0)

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