First off, I would convert your dtd to a schema (xsd) file. Everything is so much easier these days in .xsd format. In terms of loading into sql, you have basically 4 options
1) use .net code using the system.xml namespace, create an xmldocument element.
2) use sqlxml 4.0 (bulk load), with an xsd mapping schema. lots of examples online but difficult syntax.
3) use foropen xml (again difficult syntax)
4) my personal favourite, by far and away the most efficient. create an xslt stylesheet, convert your xml to a text file, and then use bcp to copy to sql (or other database). email me at
heap_tim@hotmail.com for more info.