我正在寻找 C# 中的 OFX 文件解析器库。我在网上搜索过,但似乎没有。有谁知道任何优质的 C# OFX 文件解析器。我需要处理一些 OFX 格式的银行对账单文件。
更新 我设法找到了一个用于解析 OFX 解析器的 C# 库。
这是x sharp的链接。这个代码库似乎是启动我的解决方案的最佳案例。
我尝试使用 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)
{ .... }
}
}
尝试http://www.codeproject.com/KB/aspnet/Ofx_to_DataSet.aspx。该代码使用 Framework 3.5 并将 ofx 转换为数据集,这可能有助于您尝试执行的操作。