Я использую TouchXml из-за заданных ограничений NSXML на реальном iPhone. В любом случае, я только начинаю работать с Objective-C, у меня был опыт работы с C#, и мне захотелось узнать что-то новое... во всяком случае... вот мой xml-файл...
<?xml version="1.0" encoding="utf-8"?>
<FundInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/webservices">
<FundsReleaseDate>2009-02-11T00:00:00</FundsReleaseDate>
<FundValue>7800</FundValue>
<FundShares>1000</FundShares>
</FundInfo>
Пытаюсь получить 7800, т.е. FundValue. Может ли кто-нибудь указать мне правильное направление, я использую TouchXml CXMLDocument, а myParser имеет тип CXMLDocument, я пробовал
NSArray *nodes = [myParser nodesForXPath:@"//FundInfo" error:&err];
В основном узлы оцениваются как ноль
if ([nodes count] > 0 ) {
amount = [nodes objectAtIndex:1];
}
ОБНОВЛЕНИЕ 1: я отказался от синтаксического анализа с использованием XPath и заменил его на NSURLRequest, так что теперь у меня есть весь XML в строке, но мое грубое введение в Objective-C продолжается ... Я только что понял, насколько я избалован. .NET BCL, где такие вещи, как Regex, так легко доступны.
ОБНОВЛЕНИЕ2: я понял, как использовать RegexKitLite для регулярных выражений.
Итак, теперь вопрос в том, как мне получить «7800» внутри FundValue, который теперь представляет собой одну большую строку. Я подтвердил, что он есть в моем NSString, написав его с помощью NSLog.