在Cocoa中搜索NSXML

时间:2012-04-17 14:28:43

标签: objective-c cocoa nsxml nsxmldocument

如果我有这个外部XML文件:

<drivers>
                <folder>
                    <name>Adobe</name>
                    <driver>
                        <name>acrobat distiller 3.0</name>
                        <filename>ADISTILL.PPD</filename>
                    </driver>
                    <driver>
                        <name>adobe laserjet ii cartridge</name>
                    <filename>ALJII523.PPD</filename>
                </driver>
                <driver>
                    <name>generic postscript printer</name>
                    <filename>defprtr2.ppd</filename>
                </driver>
            </folder>
</drivers>

说我想获取“Adobe”的内容并将它们放在一个数组中,我该怎么做?

我有以下内容,它为我提供了一个“&lt; name&gt;”数组但是,我不知道它的下一步是什么。

NSString *item_name = [NSString stringWithFormat:@".//drivers/folder/name"];
NSArray *arr = [ads_xml nodesForXPath:item_name error:NULL];

ads_xml是NSXMLDocument类型。

谢谢!

P.S。具体来说,我想要&lt;名称&gt;和&lt;文件名&gt;发现在&lt;驱动程序&gt;节点..干杯

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案,可以通过多种不同方式完成。 我可以为所有名称创建数组,使用XPath和另一个数组作为文件名,并以这种方式将数据存储在数组变量中。