Nö, aber deswegen habe ich mir eine Prozedur geschrieben, welche dieses für mich tut:
Delphi-Quellcode:
function GetAttributeValue(aNode: IXMLDOMNode; aAttribute: WideString; aDefault: WideString; aReturnDefaultIfEmpty: Boolean = False): WideString;
var
AttributeNode: IXMLDOMNode;
LName: WideString;
begin
if (aNode = nil) or (aAttribute = '') then
begin
// no valid node or attribute name
Result := aDefault;
end else begin
// get attribute
AttributeNode := aNode.attributes.getNamedItem(aAttribute);
if Assigned(AttributeNode) then
begin
// get attribute value
Result := AttributeNode.text;
if aReturnDefaultIfEmpty and (Result = '') then
// override empty content and return default value
Result := aDefault;
end else begin
// attribute does not exist
Result := aDefault;
end;
end;
end;
...
...