Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#115

Re: himXML (gesprochen himix ML)

  Alt 16. Jul 2009, 09:20
aus Post #108
Zitat von Zwoetzen:
Allerdings bin ich da schon auf einen nächsten Fehler gestoßen:

Test-Prozedur:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
const
  S: String = '<root>Some Text<child>Ding</child>Something else</root>'; // <-- Sollte gültiges XML sein
var
  XML: TXMLFile;
begin
  XML := TXMLFile.Create;
  try
    XML.asXML := S;
    ShowMessage(XML.RootNode.XMLText);
  finally
    XML.Free;
  end;
end;
Normalerweise würde man davon ausgehen, dass man nun als Ausgabe genau den Teil zwischen den <root>-Tags bekommt, allerdings erscheint:

Zitat von ShowMessage:
Some Tex
<child>Ding</child>
Something els
Das bedeutet, dass sowohl das letzte Zeichen vor dem öffnenden <child> als auch vor dem schließenden </root> fehlt. Habe es mit verschiedenen Werten probiert, es scheint immer genau ein Zeichen zu fehlen.
da war ein kleiner "Trim"-Fehler in Bezug auf den Nodetyp xtUnknown, welcher in der Prozedur AssembleTree jeweil ein Zeichen zuviel entfernte

beim Einlesen war alles noch OK und auch wärend man mit dem Bäumchen arbeitete ... es verschand also nur wärend des Speicherns

hab auch gleich mal die restlichen verbliebenen (langsameren) Suchschleifchen in ParsingTree ersetzt und ebefalls nach TXMLFile.ParsingTree._Search verlagert

Update siehe Beta in Post #1
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat