Index: src/OFXMLElement.h ================================================================== --- src/OFXMLElement.h +++ src/OFXMLElement.h @@ -326,19 +326,33 @@ * * \param child Another OFXMLElement which is added as a child */ - (void)addChild: (OFXMLElement*)child; +/** + * \param elemname The name of the element + * \return The first child element with the specified name + */ +- (OFXMLElement*)elementForName: (OFString*)elemname; + /** * \param elemname The name of the elements * \return The child elements with the specified name */ - (OFArray*)elementsForName: (OFString*)elemname; +/** + * \param elemname The name of the element + * \param elemns The namespace of the element + * \return The first child element with the specified name and namespace + */ +- (OFXMLElement*)elementForName: (OFString*)elemname + namespace: (OFString*)elemns; + /** * \param elemname The name of the elements * \param elemns The namespace of the elements * \return The child elements with the specified name and namespace */ - (OFArray*)elementsForName: (OFString*)elemname namespace: (OFString*)elemns; @end Index: src/OFXMLElement.m ================================================================== --- src/OFXMLElement.m +++ src/OFXMLElement.m @@ -649,16 +649,29 @@ if (children == nil) children = [[OFMutableArray alloc] init]; [children addObject: child]; } + +- (OFXMLElement*)elementForName: (OFString*)elemname +{ + return [self elementForName: elemname + namespace: nil]; +} - (OFArray*)elementsForName: (OFString*)elemname { return [self elementsForName: elemname namespace: nil]; } + +- (OFXMLElement*)elementForName: (OFString*)elemname + namespace: (OFString*)elemns +{ + return [[self elementsForName: elemname + namespace: elemns] firstObject]; +} - (OFArray*)elementsForName: (OFString*)elemname namespace: (OFString*)elemns { OFMutableArray *ret = [OFMutableArray array];