Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [c][libxml2] специальные символы


Автор: kapbepucm 19.4.2012, 15:54
У меня программка формирует XML файл. Всё хорошо работает, но тут встретились специальные символы. В общем, задача такая. Есть исходный XML файл
Код
<?xml version="1.0" encoding="UTF-8"?><test>&quot;</test>
моя программа:
Код
//gcc `pkg-config --cflags --libs libxml-2.0` -o xml.run xml.c
#include <libxml/parser.h>

void parseDoc(char *docname)
{
  xmlDocPtr doc;
  doc = xmlParseFile(docname);
  if (doc == NULL )
  {
    fprintf(stderr,"Document not parsed successfully. \n");
    return;
  }
  xmlSaveFormatFile (docname, doc, 1);
  xmlFreeDoc(doc);
  return;
}

int main(int argc, char **argv)
{
  char *docname;        
  if (argc <= 1)
  {
    printf("Usage: %s docname\n", argv[0]);
    return 1;
  }
  docname = argv[1];
  parseDoc (docname);
  return 0;
}
Проблема в том, что после прогона через мою программу, XML портится и &quot; превращается в ". Как сформированный doc сохранить в файл, чтобы спецсимволы имели вид &...;

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