XmlSpy can create a xsd schema from a database structure and can also export database data to xml. I use XmlSpy quite a bit though and I don't know of a way to use it to import xml data into a database.
The only method I would recommend of importing xml, other than your first thought of using SQL and OPENXML, is using SQLXML bulk loading. This requires a reasonable knowledge of schemas however but does perform an order of magnitude faster. It also handles the propagation of surrogate keys in related tables which is especially useful in deeply structured xml.
Hope this helps
Hope this helps