0

我希望我的应用程序将XML文件作为某种预初始化程序使用。我想分析 xml 文件,然后绘制屏幕。因此,例如,我在 struct 中有一个 xml 文件:

<app>
   <screens>        
    <screen name="myscreen1">
            <font fontsize="32" fontcolor="#000000" fontface="font.ttf"/>

            <button tmpl="bk"/>

            <list area="0px 74px 100% 100%">
                <item tmpl="myitem1" target="myitemelsewhere">
                    <image tmpl="myitem1" img="myimg1.png"/>
                    <text tmpl="myitem1">Test</text>
                </item>
                <item tmpl="myitem2" target="myitemelsewhere">
                    <image tmpl="myitem2" img="myimg2.png"/>
                    <text tmpl="myitem2">Test</text>
                </item>
             </list>
    </screen>
<!--screen 2 the same way -->
</screens>
</app>

我实现NSXMLparser了,我可以简单地读取属性和标签。那不是问题。我的问题是。当我得到第一个元素(例如 myscreen1)时,最好的办法是把它放在哪里,然后再获取所有的屏幕声明标签和属性?NSSet? NSDictionary? NSArray? 例如:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{
    element = [NSMutableString string];

    if([elementName isEqualToString:@"screen"])
    {
        //What should i do here to tell my app to store all attributes? Where to put this?
    }
}
4

1 回答 1

1

您通常有一个变量来保存流入的数据,还有一个变量来存储您正在处理的 XML 标记。您在上面给出的位置是用于设置您当前正在处理的 XML 标记。这是一个很好的示例代码,可以帮助您入门:

http://weblog.bignerdranch.com/?p=48

于 2012-04-12T12:19:14.883 回答