これは特定のプログラミングの質問ではなく、何かを行うための適切な方法を知るための要求です。
「TheSomething」:私のコードは、XMLを標準出力として出力するユーザー提供のPowerShellスクリプトを実行します。この出力は、ソフトウェアのセットアップルーチンの一部として公開および提供するスキーマに準拠していると想定されています。出力でバージョンをサポートしているため、顧客のXMLは、XMLのルートにあるバージョン2の出力に対して次のようになります。
<my_report version="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mycompany.com/permanent/config-2.0.xsd config-2.0.xsd">
顧客の出力XMLは有効なXMLではない可能性があります(したがって、使用する前に検証する必要があります)。
私の目標は、バージョン属性の値を取得し、それが提供された適切な.xsdファイル名と一致することを確認してから、その.xsdファイルを使用して出力XMLを検証することです。
出力XMLが有効でない可能性があるため、XElement.Parse()のようなものに依存してXMLを変数に変換して操作することはできません。したがって、私の唯一の手段は、最初の要素(my_report)を解析し、文字列操作を使用して決定を行うことだと思います。
注:コードが動作するマシンは、インターネットアクセスが保証されていません。
私の基本的な質問:これは正気の考えですか?私はこのようなことをするために雑草の中を離れていますか?それが正気でない考えであるならば、何が良い代替案でしょうか?
プラットフォームは、Windows Server 2008 R2、C#4.0コンソールアプリケーションタイプです。