Arbeiten mit Xerces C
-
Hallo zusammen,
bisher habe ich TinyXML verwendet und fand das auch alles recht simpel.
Jetzt möchte ich allerdings wegen der Validation gegen eine Schema XML
auf Xerces C umsteigen.
Was ich allerdings nicht so prickelnd finde ist der eigene Typ
XMLCh*. Wie macht ihr das? Castet ihr zwischen dem Typen und char* hin und her
oder verwendet ihr XMLString::transcode.Ich habe mir jetzt HelferMethoden geschrieben.
Sieht zwar etwas umstndlich aus, aber scheint mir der beste Weg.z.B.:
std::auto_ptr<std::string> XercesUtil::getAttribute(xercesc::DOMNode *node, const std::string& name){ xercesc::DOMNamedNodeMap *map = node->getAttributes(); if(map == 0) return std::auto_ptr<std::string>(); XMLCh * xname = xercesc::XMLString::transcode(name.c_str()); xercesc::DOMNode *nd = map->getNamedItem(xname); xercesc::XMLString::release(&xname); const XMLCh *xvalue = nd->getNodeValue(); char *cvalue = xercesc::XMLString::transcode(xvalue); std::string *value = new std::string(cvalue); xercesc::XMLString::release(&cvalue); return std::auto_ptr<std::string>(value); }EDIT:
Außerdem gilt für XMLString: Users of this class must understand that this is not an officially supported class.Gruß,
*Cpp-Anfänger*
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.