我是swift的新手,但我已经制作了一个Android应用程序,其中从xml文件中选择了一个字符串数组。这是一个包含大量字符串数组的大型xml文件,应用程序根据用户选择获取相关的字符串数组。
我现在正尝试使用swift为iOS开发相同的应用程序。我想使用相同的xml文件,但我看不到和简单的方法来获得正确的数组。例如,xml的一部分看起来像这样
<string-array name="OCR_Businessstudies_A_Topics">
<item>1. Business objectives and strategic decisions</item>
<item>2. External influences facing businesses</item>
<item>3. Marketing and marketing strategies</item>
<item>4. Operational strategy</item>
<item>5. Human resources</item>
<item>6. Accounting and financial considerations</item>
<item>7. The global environment of business</item>
</string-array>
<string-array name="OCR_Businessstudies_AS_Topics">
<item>1. Business objectives and strategic decisions</item>
<item>2. External influences facing businesses</item>
<item>3. Marketing and marketing strategies</item>
<item>4. Operational strategy</item>
<item>5. Human resources</item>
<item>6. Accounting and financial considerations</item>
</string-array>
如果我有字符串&#34; OCR_Businessstudies_A_Topics&#34;我如何得到&#34; OCR_Businessstudies_A_Topics&#34;来自xml文件的数组。
这在android中是非常直接的,虽然我已经使用了swift的在线教程,但似乎我必须解析xml文件,但似乎没有到达任何地方。
有没有比尝试解析整个xml fie更好的方法?
由于
百里
答案 0 :(得分:0)
您可以编写自己的XML解析器,符合NSXMLParser
或使用HTMLReader
之类的库:
let fileURL = NSBundle.mainBundle().URLForResource("data", withExtension: "xml")!
let xmlData = NSData(contentsOfURL: fileURL)!
let topic = "OCR_Businessstudies_A_Topics"
let document = HTMLDocument(data: xmlData, contentTypeHeader: "text/xml")
for item in document.nodesMatchingSelector("string-array[name='\(topic)'] item") {
print(item.textContent)
}