![]() |
Fehler beim XML Parsen
Hallo,
vorweg - ich habe bereits einiges mit XML Dateien und auch mit dem Datenbindungsexperten gemacht. War aufgrund einfacher Strukturen soweit gut machbar - nun bekomme ich (über ein Webservice) xml Dateien mit Rechtsinhalten die vereinfacht so aussehen: <liste> <ziffernliste ebene="1"> <listelem ct="text"> <symbol stellen="2">6.</symbol>„Industriebatterien“ Batterien oder Akkumulatoren, die für industrielle oder gewerbliche Zwecke... </listelem> <listelem ct="text"> <symbol stellen="2">7.</symbol>„Altbatterien“ Batterien oder Akkumulatoren, die gemäß §*2 AWG*2002 als Abfall gelten; </listelem> </ziffernliste> <literaliste ebene="2"> <listelem ct="text"> <symbol stellen="2">a)</symbol>die gekapselt sind und </listelem> ... </literaliste> ... <schluss typ="Ziff" ct="text">bei denen Gerätealtbatterien abgegeben werden können;</schluss> </liste> Ich kann gut auf die Attribute (zB. ct="text") zugreifen (auslesen reicht) ebenso auf den Text in <schluss> ("bei denen Gerätealtbatterien....."), auch die NodeNames etc... Aber egal ob ich das über die Funkionen der XML-Datenbindung oder direkt (.node[0].Listelem[1].Text) mache es geht nicht (EXMLDocError -'Element "listelem" enthält keinen einzelnen Textknoten') Beisiel XML ![]() Ich behirne das jetzt leider nicht mehr ;( Vielleicht kann mir da jemand von Euch auf die Sprünge helfen Vielen Vielen Dank! |
AW: Fehler beim XML Parsen
Die Fehlermeldung "EXMLDocError -'Element "listelem" enthält keinen einzelnen Textknoten'" ist korrekt:
Code:
listelem hat zwei Childnodes: einen <symbol> Node und einen Textnode. Ich nehme an, mann muss in diesem Fall die Childnodes der Reihe nach abarbeiten und jeweils den Node-Typen darauf prüfen, ob es ein Textnode ist. In diesem Fall würde Childnodes[1] daher den gesuchten Text enthalten.
<listelem ct="text">
<symbol stellen="2">7.</symbol>„Altbatterien“ Batterien oder Akkumulatoren, die gemäß §*2 AWG*2002 als Abfall gelten; </listelem> p.s. allerdings habe ich in der im Link aufrufbaren Beispiel-XML-Datei auch "kompliziertere" Fälle gesehen, bei denen Childnodes[1] nicht zum Ziel führt:
Code:
Hier ist der Text mit <b> formatiert, Childnodes[1] ist daher das b Element, kein Textnode. Der Textnode ist hier der erste Childnode des b Elements.
<listelem ct="text">
<symbol stellen="2"><b>2.</b></symbol> <b>Persönliche und soziale Kompetenz</b> </listelem> |
AW: Fehler beim XML Parsen
VIELEN Dank!!
Code:
brachte das Ergebnis
Ziffernliste[0].Listelem[0].ChildValues[1]
:-D ... ich werde morgen das "grosse" XML angehen und hoffe das ich das nun endlich ganz verstanden hab Danke! |
AW: Fehler beim XML Parsen
So manche XML-Komponente bietet auch sowas wie InnerText als Property der Nodes, welches den XML-Inhalt dieses Notes enthält.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz