从.xml响应解析xml。+ iphone

时间:2011-08-05 06:03:54

标签: iphone xml-parsing

我想像下面那样解析xml: -

    <RoomType productId="1215560;1973855;189629" name="Standard" nights="2" startDate="2011-08-10T00:00:00-04:00" isAvailable="true" roomId="3" hotelRoomTypeId="1973855">
    <Avail offset="0" status="true" />
        <Avail offset="1" status="true" />
            <Occup occupId="1215560;1973855;189629;2;2;2" maxAdult="4" maxChild="2" price="416.46" tax="60.66" dblBed="true" avrNightPrice="208.23">
            <Board bbId="1" name="Continental Breakfast" price="0" default="false" />
                <Room seqNum="1" adultNum="2" childNum="2">
                    <Child age="8" />
                        <Child age="10" />
                    </Room>
                    <Price offset="0" value="208.23" />
                    <Price offset="1" value="208.23" />
            </Occup>
</RoomType>

我如何在iphone中解析这样的xml文件。

有没有解析这种方法的方法。

请帮帮我.. 提前致谢

2 个答案:

答案 0 :(得分:1)

您可以使用NSXMLParser。在委托方法中,您可以从字典中获取值,如下所示:

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if(elementName isEqualToString:@"RoomType")
{
NSString *productId = [attributeDict objectForKey:@"productId"];
}
}

同样,你可以为其他项目做。

答案 1 :(得分:0)

您可以使用NSXMLParser解析xmls。您必须实现NSXMLParserDelegate方法。您可以在LazyTableImages代码示例中检查ParseOperation类,以获取xml解析器委托的一个非常基本的实现。