2010-07-28 73 views
3

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

更新 我已经设法找到了解析OFX解析器的C#库。

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

+0

@JLWarlow - 在问这个问题之前,我确实检查过这个帖子。在这里,我只对C#和.NET解析器库感兴趣。不是Gnu或其他一些库。请再读一遍我的问题。 – 2010-07-28 12:59:02

+0

ofx sharp有一个细节:它不解析日期时间,只有日期 – 2012-03-10 14:41:23

回答

0

我试图用OFX尖锐库,但意识到它不工作的文件没有有效的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) 
     { .... } 

    } 
}