absätze etc. im GetXMLNodeText

Für allgemeine Fragen zur Programmierung mit PureBasic.
haggi
Beiträge: 77
Registriert: 04.01.2007 21:54

absätze etc. im GetXMLNodeText

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10725
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: absätze etc. im GetXMLNodeText

Beitrag 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
a²+b²=mc²
haggi
Beiträge: 77
Registriert: 04.01.2007 21:54

Re: absätze etc. im GetXMLNodeText

Beitrag 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
matbal
Beiträge: 261
Registriert: 30.03.2011 20:53

Re: absätze etc. im GetXMLNodeText

Beitrag 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.
haggi
Beiträge: 77
Registriert: 04.01.2007 21:54

Re: absätze etc. im GetXMLNodeText

Beitrag 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
matbal
Beiträge: 261
Registriert: 30.03.2011 20:53

Re: absätze etc. im GetXMLNodeText

Beitrag von matbal »

Wenn ein relevanter Text immer von Tags eingeschlossen ist, wie im Beispiel bei <stringtofind>cdname=</stringtofind>, gibt es doch keine Probleme.
haggi
Beiträge: 77
Registriert: 04.01.2007 21:54

Re: absätze etc. im GetXMLNodeText

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8837
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: absätze etc. im GetXMLNodeText

Beitrag von NicTheQuick »

Na wenn "GetXMLNodeName(*CurrentNode) = stringtofind" ist, dann ist 'GetXMLNodeText(*CurrentNode)' eben gleich "cdname=".
haggi
Beiträge: 77
Registriert: 04.01.2007 21:54

Re: absätze etc. im GetXMLNodeText

Beitrag 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
Antworten