- 締切済み
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カ所以上スキーマエラーがある場合に ひとつ目しかエラーを検知できません。 複数のエラー箇所を検知することはできないのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- SaKaKashi
- ベストアンサー率24% (755/3136)
DOMのチェックがエラーを発見したらその時点で終了するからでしょう。 エラーが発見された以降は構文解析が非常に難しいです。