• Viernes 8 de Noviembre de 2024, 15:39

Autor Tema:  creacion de un xml  (Leído 1386 veces)

WeraBonita

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
creacion de un xml
« en: Miércoles 29 de Julio de 2009, 14:37 »
0
hola que tal como estan?

Les cuaento, tengo que hacer un programa que me cree un archivo xml, estoy utilizando kdevelop, opensuse y la libreria libxml2, y C++, lo que pasa es que es la priemera vez que estoy haciendo esto de crear un xml y pues tambien es la primera vez que me estoy utilizando C++ y pues la vdd me urge terminar el programa, mi problema es que me marca un error que la mayoria de mi codigo en donde intento crear el xml. el error es este:

design.cpp:321: error: invalid conversion from 'const char*' to 'const xmlChar*'
design.cpp:321: error: cannot convert 'xmlNode*' to 'const xmlChar*' for argument '4' to 'xmlNode* xmlNewTextChild(xmlNode*, xmlNs*, const xmlChar*, const xmlChar*)'
design.cpp:322: error: invalid conversion from 'const char*' to 'const xmlChar*'
design.cpp:322: error: initializing argument 2 of 'xmlAttr* xmlNewProp(xmlNode*, const xmlChar*, const xmlChar*)'
design.cpp:322: error: invalid conversion from 'int' to 'const xmlChar*'


y es el mismo error en verias lieeas de mi codigo, y pues he intentado solucionarlo haciendo un cast de la siguiente manera:

xmlNodePtr px1Left = xmlNewChild (character, NULL,(const xmlChar*) "px1Left", posX1 );

en cada una de las lineas que me marce ese error pero lo unico que logro es que me genere un error diferente:

design.cpp:321: error: cannot convert 'xmlNode*' to 'const xmlChar*' for argument '4' to 'xmlNode* xmlNewTextChild(xmlNode*, xmlNs*, const xmlChar*, const xmlChar*)'


Aqui les dejo un pedazo de codigo en donde me marca estos errores:


xmlNodePtr character = xmlNewTextChild (picture, NULL, "character", character);
xmlAttrPtr idchracter = xmlNewProp (character, "id", i);

xmlNodePtr px1Left = xmlNewChild (character, NULL,(const xmlChar*) "px1Left", posX1 );
xmlNodePtr py1Left = xmlNewTextChild (character, NULL, "py1Left",posY1);
xmlNodePtr px2Rihgt = xmlNewTextChild (character, NULL, "px2Right",posX2 );
xmlNodePtr py2Rihgt = xmlNewTextChild (character, NULL, "py2Right",posY2 );
xmlNodePtr length = xmlNewTextChild (character, NULL, "length", height);// ***********************
xmlNodePtr width = xmlNewTextChild (character, NULL, "width", width);// ************************

'Espero alguien me pueda ayudar porque necesito terminar el programa.

De antemano muchas gracias

haidion

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: creacion de un xml
« Respuesta #1 en: Miércoles 29 de Julio de 2009, 16:49 »
0
Por los errores que te tira da la impresion de que estas pasando un xmlNode como argumento 4 de la función y deverias pasar un char*.

WeraBonita

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: creacion de un xml
« Respuesta #2 en: Miércoles 29 de Julio de 2009, 17:24 »
0
Ok mira lo que pasa es que en el argumento 4 le estoy pasando la variables que quiero que muestre en el xml. quiero hacer algo asi:

<picture>
  <px1Left>125</px1Left>
  <py1Left>167</py1Left>
  <px2Right>654</px1Right>
  <py2Right>875</py2Right>
  <heigth>,,,,</height>
  <width>,,,</width>
</picture>

donde los valores estan guardados en las variables:

posX1=125
posY1=167
posX2=654
posY2=875
,
,
,

y pues por eso le estoy pasando esas variables pero no se xq me marca que son nodos si no los he declarado como nodos ....

Gracias por la pronta respuesta.

haidion

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: creacion de un xml
« Respuesta #3 en: Miércoles 29 de Julio de 2009, 20:07 »
0
usa sprintf o itoa para convertir los enteros en cadenas, y pasale esas cadenas como 4 argumento a la funcion.