• 締切済み

XMLファイルのスキーマチェック

XMLファイルのスキーマチェック Sub xml_schma(in_name) Dim objSCM, objDOM, objErr As Object Set objDOM = CreateObject("Msxml2.DOMDocument.6.0") objDOM.async = False Set objSCM = CreateObject("MSXML2.XMLSchemaCache.6.0") objSCM.Add "http://test.jp/", "c:\temp\g.xsd" objDOM.Schemas = objSCM objDOM.Load (in_name) Set objErr = objDOM.parseError If objErr.errorCode <> 0 Then strMsg = objErr.Line & "行 " & objErr.srcText & vbCrLf strMsg = strMsg & objErr.reason MsgBox strMsg Else MsgBox "XML文書はスキーマに従っています" End If End Sub in_nameにxmlファイルのパス名を与えてスキーマエラーを 表示するところまでは確認できました。  XMLファイルに2カ所以上スキーマエラーがある場合に ひとつ目しかエラーを検知できません。  複数のエラー箇所を検知することはできないのでしょうか?

みんなの回答

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

DOMのチェックがエラーを発見したらその時点で終了するからでしょう。 エラーが発見された以降は構文解析が非常に難しいです。

関連するQ&A