0

私の質問は、XSD で定義された XML ノードのタイプを取得することは可能ですか?

...しかし、この質問には回答がなく、Python を対象としていますが、私は C#.Net ソリューションに興味があります。私の質問は、.Net で型として表現された、XSD で定義された型をどのように取得できますか?

背景: 私の目標は、xpath を使用して XML ドキュメント内のセクションを見つけ、サポートする XSD でそのセクションの対応する型を見つけ、最後にその型を使用してそのセクションを .Net オブジェクトに逆シリアル化することです。

一般に、コンパイル時に型がわかっている場合は xml を逆シリアル化できますが、実行時には xpath クエリを使用して型を推測する必要があります。これはリフレクションを使用して実現できると思いますが、活用できる.Net Frameworkに既に存在するものがないかどうかも疑問に思っています。

別の言い方をすれば、私はこれの反対をしたいと思います:

private void ExtractXsdFromType(Type type, FileInfo xsd)
{
    XmlReflectionImporter importer = new XmlReflectionImporter();
    XmlTypeMapping mapping = importer.ImportTypeMapping(type);
}

...型を渡してマッピングを取得するのではなく、文字列を渡して型を取得します。それが十分に明確であることを願っていますが、そうでない場合は、明確化を要求してください。詳細を提供します.

あなたの経験をありがとう!

4

1 に答える 1

0

タイプを渡してマッピングを取得するのではなく、文字列を渡してタイプを取得します。

修飾アセンブリ名を指定すると、 を使用して対応するTypeオブジェクトを取得できますType.GetType()。たとえば、名前空間で定義されType.GetType("ReflectionTest.TestClass")たクラスの型を返します。TestClassReflectionTest

于 2012-07-20T21:06:07.790 に答える