OFX 1.03のDTDを持っています(1.60を開発してリリースしたにもかかわらず、最新バージョンですが、逸脱しています...)
正規表現を使用して、エンティティ、要素、その他のタグをその部分に分割し、次のようなタグを取得するようにさらに処理するグループを作成したいと思います。
<!ENTITY % ACCTTOMACRO "(BANKACCTTO | CCACCTTO | INVACCTTO)">
そして、このようなオブジェクトを作成します
new EntityTag {string Name = "%ACCTTOMACRO"; string [] ChildTypes = new string [] {"BANKACCTTO"、 "CCACCTTO"、 "INVACCTTO"}};
次のような正規表現があります。
Regex re = new Regex(@"<!(\b)+([\s\S])?[^>]+>");
確かに、私は正規表現に慣れていないので、これまでのところうまくやっており、コメントなしで各タグのDTDを超える一致コレクションが得られます。
グループ化を活用して、前述のオブジェクトの作成を容易にしたいと思います。
私がまったく間違った道を進んでいる場合は、教えてください。ただし、このドキュメントをダウンロードすると、標準ではない場合があると思います。(Visual Studioは、このドキュメントのフォーマット方法にいくつかの危険信号を表示します)
誰もがトラブルに巻き込まれることはないと思いますが、興味のある方はスペックをダウンロードするためのリンクをご覧ください。