Ich habe weiterhin Hoffnung dass die Dokumentation nicht voller Fehler ist, sondern ich sie falsch verstehe. Die
Dokumentation zu IXMLNodeList.NextSilbing() spricht:
Zitat:
NextSibling returns the node that follows this one in the parent node's ChildNodes property list.
If this node is the last node in its parent's child list, NextSibling raises an
exception.
Das ist tatsächlich aber überhaupt nicht der Fall: Es kommt, wie es auch vernünftig wäre,
nil
heraus und gut ist. Zur Sicherheit noch der entsprechende Quelltext der Klassen:
Delphi-Quellcode:
function TXMLNode.NextSibling: IXMLNode;
begin
if Assigned(ParentNode) then
Result := ParentNode.ChildNodes.FindSibling(Self as IXMLNode, 1) else
Result := nil;
end;
und
Delphi-Quellcode:
function TXMLNodeList.FindSibling(const Node: IXMLNode; Delta: Integer): IXMLNode;
var
Index: Integer;
begin
Index := IndexOf(Node);
Index := Index + Delta;
if (Index >= 0) and (Index < list.Count) then
Result := Get(Index) else
Result := nil;
end;
Warum redet die Hilfe hier von einer
Exception? Ich verstehe das nicht. Auch in der Microsoft-Dokumentation zu
MSXML steht davon nichts.