我从花旗银行下载了一个OFX文件,该文件在http://www.ofx.net/DownloadPage/Files/ofx102spec.zip(OFXBANK.DTD文件)中定义了一个DTD,OFX文件似乎是SGML有效的。 我正在尝试使用PHP 5.4.13的DomDocument,但我收到了多个警告并且文件未解析。我的代码如下:
$file = "source/ACCT_013.OFX";
$dtd = "source/ofx102spec/OFXBANK.DTD";
$doc = new DomDocument();
$doc->loadHTMLFile($file);
$doc->schemaValidate($dtd);
$dom->validateOnParse = true;
OFX文件的开头如下所示:
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>
<DTSERVER>20130331073401
<LANGUAGE>SPA
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>0
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>
<STMTRS>
<CURDEF>COP
<BANKACCTFROM> ...
我愿意在服务器(Centos)上安装并使用任何程序来从PHP调用。
PS:这个类http://www.phpclasses.org/package/5778-PHP-Parse-and-extract-financial-records-from-OFX-files.html对我没起作用。