XML-Fragment auswerten !?!

Hallo,

diesmal habe ich folgendes Problem. Ich habe ein XML-Fragment als std::string vorliegen! Diesen möchte ich nun auswerten, also Elemente und Attribute auslesen. Wie mache ich das am einfachsten?
(Falls ich eine Bibliothek einbinden muss, dann nehme ich die libxml.dll)

Ich versuchs nochmal anhand eines Beispiels zu erklären …

Das XML-Fragment:

49.98

Und dieses Fragment steht im string fragment:

#include
using namespace std;

string price, currency;

void readFragment(string fragment)
{
price = ???fragment???;
currency = ???fragment???;
}

Wie komme ich zu ‚price‘ (Element) und ‚currency‘ (Attribut)?

Falls es da keine einfache Lösung gibt, muss ich mir wohl zwei Methoden selbst schreiben (readElement(fragment, elementName), readAttribute(fragment, attributeName)).
Das wollte ich mir eigentlich schenken.

Gruss,
Beanpole

Hallo Beanpole,

(Falls ich eine Bibliothek einbinden muss, dann nehme ich die
libxml.dll)

Gut, dann kannst du mir ja gleich bei meinem Problem helfen, s.o. :wink:

Ich versuchs nochmal anhand eines Beispiels zu erklären …
[…]

Da bieten die nützlichen Funktionen der Stringklasse sich doch an…
www.cppreference.com -> C++ Strings

Also ich würd das auf jeden Fall mit fragment.find() bzw. fragment.substr() lösen…

kvida

Also ich würd das auf jeden Fall mit fragment.find() bzw.
fragment.substr() lösen…

Hab ich jetzt auch gemacht. Hier eine einfache Methode zum Lesen eines Elements:

string readXMLElement(string fragment, string elementName)
{
string element = „“;

int pos = fragment.find(elementName);
fragment = fragment.substr(pos,fragment.length()-1);

pos = fragment.find(">");
fragment = fragment.substr(pos,fragment.length()-1);

pos = fragment.find("