такая значит проблема
нужно создать новый XML
и прописать в нем кодировку UTF-8
делаю
CComPtr<IXMLDOMNode> iTN;
iXMLDoc->createNode( CComVariant(NODE_PROCESSING_INSTRUCTION), L"xml", NULL, &iTN )
тут S_OK
далее
CComPtr<IXMLDOMnode> iXMLItem;
iXMLDoc->appendChild( iTN, &iXMLItem );
тут тоже все ок
на текущий момент в XML уже есть <?xml version='1.0'?>
пытаюсь у нода iXMLItem установить attribute encoding
говорит S_OK
на деле - ничего не добавляется
если делать через
iXMLDoc->createProcessingInstruction
передавая ему первым параметром "xml" вторым "version='1.0'"
он возвращает HRESULT = 1
Здравствуйте Аноним, Вы писали:
А>Здравствуйте Lloyd, Вы писали:
L>>Здравствуйте John1979, Вы писали:
J>>>кто может подсказать — в чем грабли ?
А>эээ... А>а можно чуть чуть подробней А>или расписать, что значат эти записи ? А>а то я чес говоря малость не понял ничего
А>буду премного благодарен, если Вы еще и подскажете, как мне добавить А>кодировку в текст документа
Дока говорит, что
Character encoding is based on the encoding attribute in the XML declaration,
such as <?xml version="1.0" encoding="windows-1252"?>. When no encoding
attribute is specified, the default setting is UTF-8.
Судя по всему сказать парсеру в какой кодировке сохранять нельзя. Хотя точно говорить не могу ...
Здравствуйте Lloyd, Вы писали:
L>Судя по всему сказать парсеру в какой кодировке сохранять нельзя. Хотя точно говорить не могу ...
attributes Property
This value depends on the value of the nodeType property.
NODE_PROCESSING_INSTRUCTION Returns null for all processing instructions except the XML declaration, for example,
<?xml version="1.0" encoding="windows-1252" standalone="yes" ?>.
For the XML declaration, the version, encoding, and standalone specifications can be accessed as attributes from the corresponding node.
Т.е. encoding должен быть доступен как обычный атрибут XMLDOMDocument'а.
Здравствуйте Lexey, Вы писали:
L>Здравствуйте Lloyd, Вы писали:
L>>Судя по всему сказать парсеру в какой кодировке сохранять нельзя. Хотя точно говорить не могу ...
L>attributes Property
L>This value depends on the value of the nodeType property.
L>NODE_PROCESSING_INSTRUCTION Returns null for all processing instructions except the XML declaration, for example, L><?xml version="1.0" encoding="windows-1252" standalone="yes" ?>. L>For the XML declaration, the version, encoding, and standalone specifications can be accessed as attributes from the corresponding node.
L>Т.е. encoding должен быть доступен как обычный атрибут XMLDOMDocument'а.
В документации по MSXML4 есть пример, в котором <?xml создается как PI.
Хотя в стандарте явно написано, что PI!=xml declaration.
вот, значит, заработало через создание ноды, с флагом
NODE_PROCESS_...
но работает только. если ему передать encoding=UTF-16
х.з. что за дела такие
причем после сохранения там оказывается UTF-8
L>В документации по MSXML4 есть пример, в котором <?xml создается как PI. L>Хотя в стандарте явно написано, что PI!=xml declaration.
а можно поподробнее. в каком месте документации — что смотреть.
я столкнулся с подобной проблемой — создаю XML документ — и никак не получается нарисовать сверху <?xml .... >