Как я могу заставить Saxon преобразовать строку CDATA в XdmNode без экранирования < &>?Как получить Saxon для вывода неэкспериментированного раздела CDATA
Вот мой 'ToXdmNode' функция:
Processor processor = xxx.GetProcessor();
var builder = processor.NewDocumentBuilder();
builder.BaseUri = xxx.BaseUri;
var tr = new StringReader("<stuff><![CDATA[<blah>]]></stuff>");
var node = builder.Build(tr);
Этот код преобразует
<stuff><![CDATA[<blah>]]></stuff>
в XdmNode, который выглядит как:
<stuff><blah></stuff>
Это вызывает проблемы позже, когда я отправьте OuterXml на следующий шаг.
Как я могу освободить свой XdmNode?
Кажется, что проблема связана с сериализатором, который мы используем. Если выход из преобразования использует класс Saxon * Serializer *, то строка верна. Если преобразование выводится на XdmNode, а затем сериализуется с использованием сериализатора .net * XmlWriter *, то я получаю проблему, описанную выше. – Neil
Абсолютно. Вот почему disable-output-escaping устарел; это может быть сделано только для работы, если между механизмом преобразования XSLT и сериализатором существует очень тесная связь. –
Итак, вы говорите, если я сериализую во время преобразования, это работает, но если я сериализую вывод позже, это не сработает? – Neil