2016-10-26 16 views
0

MSXML6でXMLを標準化する良い方法はありますか?MSXMLとcannonical XML

IXMLDOMDocumentオブジェクトにロードするXMLドキュメントがあります。私は文書上で歌やハッシュのような操作を行う必要があります。私はこれをXML標準形式のC14Nまたは同様の標準に入れたいと思います。 IXMLDOMDocumentはファイルに保存メソッドを持っていますが、最初にそれを正規化するとは思わないし、実際にファイルを書き込む方法を制御するノブも提供していません。インデント、エンコーディングフォーマットなどのいくつかのものを制御できるMXXMLWriter60がありますが、完全なC14N標準を実行するためのすべてがあるようには思えません。 .netフレームワークは、考えられるように見えるXmlDsigC14NTransformを持っていますが、明らかに私がスタック内のどこから使用可能ではありません。 MSXMLはXMLDSIGをサポートしているので、コードは正規化する必要がありますが、それを公開するわけではありません。

提案がありますか?

+0

XMLDSIGは、MS Office用のMSXML 5.0では実装されていましたが、MSXML 3.0,4.0、または6.0では実装されていませんでした。だから私の世界へようこそ。マイクロソフトはプラットフォームレベルではなく、.NetやOfficeで物事を実装し、膨大な数の開発者を自分のデバイスに残しています。グループが自社の小さな世界で会社のリソースを燃やすことが許可されたら、どうなるのだろう。株主は鮮明でなければならず、ユーザーは確かにそうです。 – Bob77

+0

あなたは何を意味するか分かりません。ネイティブコードを記述している場合は、Windows、Windows、Mobile、IoTコア、デスクトップなど、あらゆるSKUのプラットフォームレベルでMSXML3/6ライブラリに対してコード化することができます。結局、まさにCOMです。 DLLはsystem32 FWIWにあります。 –

+0

とにかく、canonicalizeするMSXMLの良いAPIがあるように見えません。明らかに、XMLDISGの一部として標準化できますが、公開されていません。 潜在的なdisigオブジェクトへのソースコードアクセスがあったとしても、プライベートな正規化メソッドを公開する新しいインターフェイスを公開するのは難しくありません。 –

答えて

0

短い答えはいいえ、MSXML 6.0には使用できる正規化ツールがありません。 canoncalizersを使用した古いバージョンのMSXMLが存在する場合、現代のWindowsには含まれていません。

Windows は、c14n標準およびその他多くの方法でXMLを標準化できる受信トレイコンポーネントです。ただし、公開APIによって公開されることはありません。

希望すると便利です。

関連する問題