NSXMLDocument - изменение узлов / атрибутов

Есть ли простой способ обновить узлы в NSXMLDocument? Я пришел из AC# фона, и вы можете сделать простой XmlDocument.SelectSingleNode("XPATH") выбрать узел и XmlNode.InnerText = "abc" установить значение узла.

Я не могу найти какие-либо методы, которые позволяют мне сделать это в документации Apple NSXMLDocument?

Спасибо,
Тея

1 ответ

Решение

NSXMLDocument это подкласс NSXMLNode у которого есть метод nodesForXPath:error: который, кажется, даст вам массив, содержащий узлы, которые вы ищете. Что-то вроде этого:

NSError err;
NSArray * nodes = [myXMLDoc nodesForXPath:theXPath error:&err];
if( !nodes ){ 
    // handle error
}
[[nodes objectAtIndex:0] setStringValue:@"abc"];

Там может быть другой метод, чем setStringValue: что вы хотите позвонить в результирующий узел, возможно.

(Если вещь с NSError заставил вас сказать "WTF?", быстро взгляните на Руководство по обработке ошибок.)

Другие вопросы по тегам