7

スペースなしで適切にフォーマットされた XML があります。そんなに違いない。

署名するために XMLDocument にロードすると、自己終了タグに余分な空白が追加され、

    <cEAN/>

になります:

     <cEAN />

このドキュメントに署名する必要がある場合、空白を削除することはできません。

プロパティ PreserveWhiteSpace は結果に違いをもたらしません。

この動作を変更するにはどうすればよいですか?

4

3 に答える 3

1

の最後の「/」の前にスペースはありませんXmlDocumentXmlDocumentノードで構成されるデータ構造です。バイナリです。テキストではありません。

表示されている余分なスペースは、ドキュメントをテキストとしてシリアル化する場合にのみ存在します。

あなたは実際に署名に問題を抱えていますか、それとも単にそのような問題があると思います?

于 2011-02-03T00:34:14.633 に答える
0

これを試して:

XMLDocument ドキュメント;

...

string XMLstring = doc.OuterXml.Replace(" />","/>");

于 2013-05-13T13:28:02.133 に答える
0

私は以前にこの問題を抱えていました。基本的なハッシュによって署名された XML であるため、シリアル化されたときに変更できません。正しい XML を確実に出力できるように、シリアライザーを作成して解決しました。

基本的なレシピは、XMLReaderで XML を読み取り、各チャンクが来るたびに書き出すことです。

于 2011-02-03T00:45:32.427 に答える