Я работаю на старом сервере Linux с Xerces 2.7 и Xalan 1.10 и пытаюсь выяснить, как получить представление Xml XalanDocument.
Я посмотрел на некоторые изпримеры, но все они выводят выходные данные в stdout (и хотя я мог бы собрать вместе оболочку памяти, чтобы перехватить это, это кажется ненужным).В примерах также показан API-интерфейс, использующий таблицу стилей, которую я не использую во всех случаях.
Примечание: обновление до последней версии Xerces невозможно, поскольку мне приходится сосуществовать с другим продуктом, созданным на 2.7, и яЯ также ограничен gcc 4.1.2.
Вот мой конструктор класса, который получает исходный xml (который может быть изменен путем добавления / удаления узлов):
myXalanDoc::myXalanDoc(const string &xmlString): parserLiaison(domSupport)
{
using xercesc::MemBufInputSource;
using xalanc::XalanDOMString;
domSupport.setParserLiaison(&parserLiaison);
MemBufInputSource theInputSource(
(const XMLByte *)xmlString.c_str(),
xmlString.size(),
"myXalanDoc"
);
xalanDoc = parserLiaison.parseXMLStream(theInputSource);
}
Я в основном хочу сделатьсделать что-то вроде:
char * myXalanDoc::getXML()
{
xalanDoc->some_method_returning_a_string().c_str();
}
или что-то в этом роде.Строковый результат также работает.