MSXML и канонический XML
Есть ли хороший способ канонизировать XML с MSXML6?
У меня есть документ XML, который я загружаю в объект IXMLDOMDocument. Мне нужно выполнить операцию, такую как пение или хэширование документа. Я хотел бы поместить его в каноническую форму XML в виде C14N или аналогичного стандарта. IXMLDOMDocument имеет метод сохранения в файл, но я не думаю, что он сначала канонизирует его, и при этом он не предоставляет никаких ручек для управления тем, как он записывает файл. Существует MXXMLWriter60, который позволяет вам управлять некоторыми вещами, такими как отступ, формат кодирования и т. Д., Но не похоже, что у него есть все, чтобы сделать полный стандарт C14N..NET Framework имеет XmlDsigC14NTransform, который кажется идеей, но, очевидно, не пригодным для использования там, где я нахожусь в стеке. Кажется, что MSXML действительно имеет некоторую поддержку XMLDSIG, так что код должен канонизировать вещи, но это не раскрывает ничего из этого.
Какие-либо предложения?
1 ответ
Короткий ответ - нет, MSXML 6.0 не имеет канонизатора, который вы можете использовать. Если существовали старые версии MSXML с канонизаторами, они не включены в современную Windows.
Windows поставляет входящие компоненты, которые могут канонизировать XML в соответствии со стандартом c14n и многие другие; однако они не предоставляются никакими общедоступными API.
Надеюсь это поможет!