2013-03-04 3 views
0

Мне нужно получить имя первого элемента в документе XML, например. строка «TITLENAME» из XML-фрагмент (который является первой линией документа XML):Операция XPath для получения имени первого элемента в NSXMLDocument

<TitleName Major="1" Minor="0" Revision="1"> 

Что XPath команда (XPathRootName в фрагменте кода ниже) мне нужно указать для этого NSXMLDocument для того, чтобы получить строку «TitleName»?

NSData *xmlData = [xmlStr dataUsingEncoding:NSUTF8StringEncoding]; 
NSError *error; 
NSXMLDocument *xmlDocument = [[NSXMLDocument alloc]initWithData:xmlData 
     options:0 error:&error]; 

NSXMLElement *rootNameXMLElement = [[xmlDocument 
     nodesForXPath:XPathRootName error:&error] lastObject];; 
NSString *rootName = rootNameXMLElement.stringValue; 

ответ

1

XPath выражение /* будет соответствовать элемент документа, но было бы проще всего использовать rootElement свойство xmlDocument, чтобы получить этот элемент непосредственно без использования XPath.

+0

Спасибо Яну! Оба метода возвращают полный документ в моем случае (ниже TitleName). Мне понадобится только «TitleName». – AlexR

+0

@AlexR, как только у вас есть ссылка на нужный узел, вы хотите его свойство 'name', а не' stringValue' –

+0

Это была моя проблема! Мой код работает сейчас. Большое вам спасибо, Ян! – AlexR

Смежные вопросы