2010-07-28 76 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) 
     { .... } 

    } 
}