Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: himXML (gesprochen himix ML)

  Alt 15. Apr 2010, 15:15
Aktuell sind die Schleifen wohl das Beste.
Leider hat FindNodes wirklich ein paar "Macken".

Darum arbeite ich schon seit 'ner Weile an einer XPath-Variante,
aber leider hängt es da an einigen Stellen. (vorallem an einer Hier im Forum suchenRegEx-Anbindung, welche einige String-Vergleiche besser behandeln soll.)

.FindeNodes ohne Pfade sollte mit dieser Änderung bessere Ergebnisse liefern
Delphi-Quellcode:
Function TXMLNodeList.GetFindNodeArray(Name: TWideString): TXMLNodeArray;
  Var N: TXMLNode;
    A, A2: TXMLNodeArray;
    i, i2: Integer;

  Begin
    //Result := nil;
    //N := NodeU[Name];
    //If Assigned(N) Then Begin
    // SetLength(Result, 1);
    // Result[0] := N;
    //End;
    {}Result := NodeList[Name];
    A := NodeList['*'];
    For i := 0 to High(A) do Begin
      A2 := A[i].FindNodes[Name];
      If Assigned(A2) Then Begin
        i2 := Length(Result);
        SetLength(Result, i2 + Length(A2));
        MoveMemory(@Result[i2], @A2[0], Length(A2) * SizeOf(TXMLNode));
      End;
    End;
  End;
XML.FindNodes['code'] findet zumindestens alle 6 Code-Nodes.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat