Добавить CDataElements в DOMConfiguration - PullRequest
1 голос
/ 17 февраля 2012

Я генерирую XML, используя LSSerializer. Проблема в том, что с OutputFormat я могу установить массив CData, но я не могу сделать это с DOMConfiguration, полученным от LSSerializer.

Это старая версия:

OutputFormat of = new OutputFormat();
String[] arrayOfCDATAHandledElements = { "^Tag1", "^Tag2" };
of.setCDataElements(arrayOfCDATAHandledElements);

И новая версия:

LSSerializer domWriter = impls.createLSSerializer();            
DOMConfiguration domConfig = domWriter.getDomConfig();
String[] arrayOfCDATAHandledElements = { "^Tag1", "^Tag2" }; // how would one add it?
domConfig.setParameter("cdata-sections", Boolean.TRUE);

Я хочу добавить CDATA для Tag1 & Tag2 в моем XML.

1 Ответ

0 голосов
/ 10 октября 2015

Хотя я вижу, что этот вопрос относится к 2012 году, я столкнулся с той же проблемой, пытаясь исправить какой-то очень старый код.Из того, что я могу сказать, когда вы создаете свой документ, вы должны убедиться, что все узлы, которые должны иметь маркеры CDATA, построены следующим образом:

org.w3c.dom.CDATASection commentTextNode = 
    document.createCDATASection("My Comment with funky !@#$ characters");

Это в отличие от того, как OutputFormat обрабатывал CDATA с помощьюуказание, какие элементы (по имени) должны быть отформатированы как CDATA.

...