【发布时间】:2018-11-04 03:19:32
【问题描述】:
是否可以从下面的 XML 文件中提取有序的键数组:
基本上我想要的是一个看起来像这样并按以下顺序排列的数组: ["key1","key2","myKey3","key4","key5"]
问题是,如果我先转换为 NSDictionary 然后循环遍历键,我会丢失顺序。
我希望能够在不更改网络服务器的情况下做到这一点。
提前致谢
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>key1</key>
<array>
<string></string>
<string>title1</string>
<string>disabled</string>
</array>
<key>key2</key>
<array>
<string></string>
<string>title2</string>
<string>disabled</string>
</array>
<key>myKey3</key>
<array>
<string></string>
<string>title3</string>
</array>
<key>key4</key>
<array>
<string></string>
<string>title4</string>
<string>disabled</string>
</array>
<key>key5</key>
<array>
<string></string>
<string>title5</string>
<string>disabled</string>
</array>
</plist>
【问题讨论】:
-
不要考虑字典中的顺序,否则您误解了它的用途。字典中的顺序不应该很重要,因为访问是通过键而不是索引。这似乎更像是一个 plist 文件(简单的转换方法),而不是一个“真正的”xml(解析更复杂)。
-
谢谢,但也许你误解了我的问题。我希望将该 XML 文件转换为数组。如果我将它转换为字典,然后转换为数组,它将不会保持 b/c 的顺序,字典是无序的集合。这是来自 plist 的,但它与我要求在网络服务器上发布的文件完全相同,所以我定义了。需要解析。
标签: objective-c xml parsing nsarray