この件に関して、多くの素晴らしい質問を見つけました。残念ながら、答えはすべて xsd ファイルを使用すると言っています。xsd.exe を使用して、xml ファイルから xsd ファイルを作成しました。ここからコードをコピーして Visual Studio に貼り付けたところ、最初の行でエラーが発生しました。
実行されない理由を理解するのに時間をかけたくなかったので、検証を自分でコーディングすることにしました。
私が使っているポイントは以下の2点です。
各左キャレットには右キャレットがあるため、ファイルの最後では、左キャレットと右キャレットが同じ量になります。
ファイルの最後で、左キャレットの量、または右キャレットの量を合計から 1 引いて (ヘッダーにバックスラッシュがないため)、合計を 2 で割ると、スラッシュ。
私はいくつかの問題に遭遇しています。
string.count() を使用しています このメソッドは、属性にあるキャレットもカウントします (これは望ましくありません)。
ファイルの読み取りが完了したら、予想されるバックスラッシュの数を計算します。数字が一致しない場合は「予想されるスラッシュの数が一致しません」と書きますが、ファイルのどこにあるのかわかりません。
現時点では、これらの問題を解決する方法は思いつきません。
xsd ファイルを使用せずに xml ファイルを検証するより良い方法はありますか?