1

外部サービスから XML をデシリアライズしようとしているため、受け取る出力 XML を制御できません。

サービスの XML は少し奇妙です。スキーマを指定せず、それ自体を参照します。例えば:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE response>
<response>
 // blah blah
</response>

VS の組み込みツールを使用して XSD ファイルを作成できますが、逆シリアル化するときに、ローカルの XSD ファイルを指定することはできますか? DOCTYPE タグで存在しないものを使用する代わりに?

4

1 に答える 1

1

XMLドキュメントをロードするときにXmlResolverを使用しないように指定する必要がある場合があります。DOCTYPE .dtdを無視するを参照してください。ただし、.dtdファイルはまだ存在している必要があります。

.xsdファイルを簡単に指定できます。ドキュメントをロードするときは、XmlReaderSettingsオブジェクトを使用します。プログラムがWebサービスの場合、.xsdがWindowsディレクトリの下にある必要がある場合があることに注意してください。64ビットWindowsでの問題を含むヒントについては、MSIインストーラー、64ビットOSを参照し、\ windows \ system32\inetsrvフォルダーに書き込んでください。

于 2011-01-18T23:50:24.740 に答える