私はXMLファイルを解析するアプリケーションを作成しています。 。パラメータ*/XML /スキーマ/ myschema.xsdは」へのパスであることをファイル名の代わりに(埋め込みリソース)スキーマをXmlReaderSettingsに追加しますか?
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, "./xml/schemas/myschema.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(xmlFile, settings);
XmlDocument document = new XmlDocument();
document.Load(reader);
ValidationEventHandler eventHandler = new ValidationEventHandler(settings_ValidationEventHandler);
document.Validate(eventHandler);
注:私は、私はそれをデシリアライズしようとする前にXMLを検証するために使用するスキーマ(の.xsd)ファイルを持っています。 xsdファイルをコンパイルする代わりに、.xsdファイルをプロジェクトの埋め込みリソースとしてコンパイルします(既に.xsdファイルを追加してビルドを設定しています)。埋め込みリソースへのアクション)
私の質問は....埋め込みリソーススキーマをXmlReaderSettingsスキーマリストに追加するにはどうすればよいですか? settings.Schemas.Addしかし、いずれも引数として埋め込まれたリソースを取りません。それらはすべてスキーマファイルへのパスになります。
過去に埋め込みリソースを使用してラベルイメージを動的に設定していますので、埋め込みリソースを使用することに多少慣れています。私はこれが狭くなるよう埋め込まれたの.xsdもストリームとして読まれることを想定しています
System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
Stream myStream = myAssembly.GetManifestResourceStream(resourceName);
:それは私が最終的に終わるもののように見えます私の他のコードを見ると、コンテンツが含まれていストリームです私の質問を少し下に。ファイル名ではなくスキーマを含むストリームへの参照がある場合、スキーマをXmlReaderSettingsに追加するにはどうすればよいですか?
:
それとも、最初のスキーマをロードし、それを追加することができますが「ありがとう」、「助けてくれました」、または「そう」の署名を使用しないでください。 「[ハイ、感謝、タグライン、挨拶は投稿から削除してください](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be」を参照してください。 -removed-from-posts)。 –
いいえ問題はありません。 –