Seite 1 von 1
absätze etc. im GetXMLNodeText
Verfasst: 16.08.2014 00:05
von haggi
Hi leute,
ich hab ein kleineres problem und hoffe ihr könnt mir helfen, hab schon einige stunden versenkt und würde ungern eine relativ umständliche suche ausführen.
ich habe einen xml aufbau
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<streaminformation>
</identifier>
<identifier id="cdname">
<stringtofind>cdname=</stringtofind>
</identifier>
</streaminformation>
das problem ist, das er hier bei stringtofind (getxmlnodetext) beim hauptknoten streaminformation viele absätze und wohl auch andere zeichen rein haut und nacher zweischen den einzelnen identifier auch 3 oder 4 absätze und noch ein paar andere zeichen einfügt.
gibt es ne einfache möglichkeit, das ich den string auf das erste zeichen also das "c" zu beschneiden?
besten dank im vorraus!
gruß haggi
Re: absätze etc. im GetXMLNodeText
Verfasst: 16.08.2014 00:14
von Kiffi
haggi hat geschrieben:das problem ist, das er hier bei stringtofind (getxmlnodetext) beim hauptknoten streaminformation viele absätze und wohl auch andere zeichen rein haut [...]
wer ist 'er'?
Erzeugst Du das XML? Oder liest Du ein fremdes XML ein?
Geht es Dir nur um das erste Zeichen im stringtofind-Node?
Grüße ... Kiffi
Re: absätze etc. im GetXMLNodeText
Verfasst: 16.08.2014 00:20
von haggi
Hi Kiffi,
er ist, so schätz ich mal, der parser, da er ja die daten einliest und dort die zeichen wohl hinzufügt ... so vermute ich zumindest, sonst wäre es unlogisch für mich.
das xml hab ich selber über nen xml editor erzeugt bzw. ein vorhandenes abgeändert. er soll es einfach einlesen und 1:1 wieder geben
mir geht es natürlich um den ganzen text aber der string soll natürlich nur "cdname=" beinhalten ohne absätze oder sonstige sonderzeichen. im zweifel wäre es aber schön, das wenn ich im text ein absatz hab z.b:
hallo hier
kommt der absatz
dieser auch vorhanden bleibt. ist aber nicht zwingend.
gruß haggi
Re: absätze etc. im GetXMLNodeText
Verfasst: 16.08.2014 10:38
von matbal
Das hängt nur von der Formatierung der XML-Datei ab. Würde der ganze XML-Code in einer Zeile stehen, gäbe es diesen "Leertext" nicht.
Zum Text von "streaminformation" gehört alles bist zum nächsten Tag. Also der Zeilenumbruch und die zwei Leerzeichen Einrückung. Dann beginnt "identifier". Nachdem "identifier" zu Ende ist, geht der Text vom Hauptknoten weiter, wieder Umbruch und Einrückung, u.s.w.
Gleiches gilt für "identifier". Der Text enthält den Umbruch und die Einrückung vor und nach "stringtofind".
"stringtofind" selber hat keine weiteren Formatierungen im Text. Also wird auch nur "cdname=" zurückgegeben.
Re: absätze etc. im GetXMLNodeText
Verfasst: 16.08.2014 12:48
von haggi
Hi matbal,
na das erklärt natürlich einiges .... hmmm ok ... ich würde es gerne der übersichtlichkeithalber so lassen, gibt es dann eine sinvolle möglichkeit das zu löschen? das ich es z.b. mitschneide wie viele absätze das sind und die dann manuell lösche oder gibt es dann einen haken?
gruß haggi
Re: absätze etc. im GetXMLNodeText
Verfasst: 16.08.2014 13:19
von matbal
Wenn ein relevanter Text immer von Tags eingeschlossen ist, wie im Beispiel bei <stringtofind>cdname=</stringtofind>, gibt es doch keine Probleme.
Re: absätze etc. im GetXMLNodeText
Verfasst: 17.08.2014 00:22
von haggi
das problem ist dann aber das die namen "stringtofind" immer gleich heißen muss oder seh ich das falsch? das problem ist ja das ich per if abfrage ob GetXMLNodeName(*CurrentNode) = stringtofind ist oder gibt es noch eine bessere idee?
gruß haggi
Re: absätze etc. im GetXMLNodeText
Verfasst: 17.08.2014 01:31
von NicTheQuick
Na wenn "GetXMLNodeName(*CurrentNode) = stringtofind" ist, dann ist 'GetXMLNodeText(*CurrentNode)' eben gleich "cdname=".
Re: absätze etc. im GetXMLNodeText
Verfasst: 17.08.2014 12:40
von haggi
Hi nick, das ist klar
die Frage war eher ob es noch ne bessere methode gibt das zu filtern und nicht indem ich fest definiere bei was er den text auslesen soll. also "GetXMLNodeName(*CurrentNode) = stringtofind". DAs funktioniert so weit aber da müsste ich halt bei jeder abfrage angeben welche er genau er filtern soll.
gruß haggi