[Stringmanipulation] Habt ihr eine Idee wie ich....

Bexx

Verrückte Erfinderin bei Daniel Düsentrieb
Hoi ihr Foris,

Also, ich will einen String dahingehend manipulieren, dass ich mir aus folgendem XML-Schnipsel den Knotenwert rausbastele.
Ich frage mit auch mit voller Absicht nach einer Stringmethode (XML-Bib wäre sicher einfacher, aber mir geht es hier um das Prinzip), statt eines anderen Ansatzes.

Code:
<result><row><idsite>1</idsite></row></result>

die Antwort wird bei gleichbleibender Abfrage immer diese Struktur haben, die einzige Veränderung ist die Wertstellung der zurückgegebenen ID der Website.

Ich habe mir also gedacht, ich weiß sicher, dass das was ich als Teilstring zurückhaben will immer zwischen dieser Zeichenfolge zu finden sein wird:
Code:
<idsite>
und
Code:
</idsite>
. Wie viele Stellen meine ID haben wird, kann aber unterschiedlich sein.
Das heißt, ich könnte theoretisch den String durchlaufen bis ich die Zeichenfolge
Code:
<idsite>
gefunden habe und ab dem
Code:
>
bis zum nächsten
Code:
</idsite>
alle Zeichen herauspflücken.

Soweit, so gut. Jetzt weiß ich aber nicht nach welchem Ansatz ich die Logik schreiben könnte, die mir diese Zeichen in einem Substring speichert und aufhört, wenn das Abbruchkriterium erfüllt ist und ich bei dem </ des schließenden idsite-Tag angekommen bin.

Ich meine, ich hätte Ähnliches in C schonmal programmiert im 1. Lj. aber daran erinnere ich mich leider nicht mehr genau.

Habt ihr Anregungen für mich?
 

deepthroat

Erfahrenes Mitglied
Hi.

Ungefähr:
Code:
str = "..."

start = strstr(str, "<idsite>")
end = strstr(start + strlen("<idsite>"), "</idsite")

end = '\0'

ID = start

Mit regulären Ausdrücken wäre sowas auch leicht (aber ähnlich fragil). Am besten geht's natürlich mit XML + XPath...