2


0

XDocumentは、2回遭遇するとヘッダー内のURLをダイジェストできません

ルートノードに2回(最初にxsi:schemaLocation = "http://www.govtalk.gov.uk/CM/envelope"およびxmlns = "http: //www.govtalk.gov.uk/CM/envelope ")

XDocumentは、ノードから2番目(xmlnsの1つ)を取り出す場合にのみ、これを解析します。

着信XMLを何らかの方法で操作することなく、この繰り返されるURLを消化するためにXDocumentを準備する方法はありますか?

1 Answer


1


問題は、URLが繰り返されることではなく、ゲートウェイから受信するXMLがxsi:schemaLocation属性を正しく使用していないことです。 属性には、空白で区切られたURIのペアが含まれている必要があります。各ペアは、ネームスペースに対応するXMLスキーマの場所に関するヒントをXMLプロセッサに提供します。 schemaLocationの説明については、http://www.w3.org/TR/xmlschema-0/#schemaLocationを参照してください。

何かを削除する必要がある場合は、xsi:schemaLocation属性にします。

受信したXMLをスキーマに対して検証する場合は、たとえばXmlSchemaSetを作成してhttp://msdn.microsoft.com/en-us/に渡すなど、スキーマドキュメントの場所を指定する手順を実行する必要があります。 library / system.xml.schema.extensions.validate.aspx [Validate]拡張メソッド。