Использование XmlStar в C#
Я пытаюсь канонизировать несколько XML-документов. Как я вижу, этого можно добиться с помощью XmlStar, выполнив команду CMD
xml c14n --exc-without-comments test_xml.xml > test_xml_canonicalize.xml
Мой вопрос: можно ли добиться того же результата с C#, используя класс XmlDsigC14NTransform, но без подписи RSA, и если да, то как?
1 ответ
Решение:
using (MemoryStream msIn = new MemoryStream(Encoding.UTF8.GetBytes(doc.InnerXml)))
{
var t = new XmlDsigExcC14NTransform(false);
t.LoadInput(msIn);
MemoryStream o = t.GetOutput() as MemoryStream;
string c14N = Encoding.UTF8.GetString(o?.ToArray() ?? throw new InvalidOperationException());
Console.WriteLine(c14N);
}