Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Концевые пробелы и xPath


Автор: Nastya 15.3.2005, 15:37
Такой трабл, пользуюсь DOM-парсером
Когда считываю текст аттриубта, парсер сам убирает концевые пробелы.
Сохраняю это в строке, а потом эту строку использую иже для формирования запроса xPath и делаю
Код

sprintf(strXPath,"//STAGE[@id='%s']",text);
hr = pXMLDoc->raw_selectSingleNode(_bstr_t(_T(strXPath)),&pIDOMNode);

Так вот, из-за отсутствия концевых пробелов, узел не находится.
Т.е. сам парсер их убрал и сам же бе зних не хочет smile

Может кто подскажет, как бытью.
Подозреваю, что строку strXPath надобы как-то иначе сформировать

Автор: Измайлов Ф.В. 16.3.2005, 13:38
Если можно, приведите фрагмент данных (XML), если я не ошибаюсь, то в XML именно все форматирование сохраняется так, как записано в тексте (с пробелами, табуляцией). Именно в XML возникают проблемы лишних пробелов при выводе в поток.
Измайлов Ф.В.

Автор: Измайлов Ф.В. 17.3.2005, 14:19
Нашел в книге Майкла Кея следующее "Если нужно, что бы анализатор вел себя соответственно требованиям XSLT, следует перед загрузкой документа установить свойства preserveWhitespace объекта Document в значение true"
Данная цитата касается как раз пробельных символов.
Измайлов Ф.В.

Автор: Nastya 31.3.2005, 07:55
Цитата
следует перед загрузкой документа установить свойства preserveWhitespace объекта Document в значение true"

Спасибо, помогло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)