栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

NSXMLParser:具有非ASCII字符的意外结果

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NSXMLParser:具有非ASCII字符的意外结果

parser:foundCharacters:
委托方法可以被调用一次以上对于单个XML元素。在您的示例中,它将用“
Contabilit”调用一次,并用“ànazionale”调用一次。

因此,您必须 将找到的字符串从 串联

didStartElement
didEndElement

这是一个非常简单的示例,说明如何完成此操作。当然,如果嵌套了XML元素,它将变得更加复杂。

将当前元素字符串的属性添加到您的类中:

var currentElement : String?

然后实现这样的委托方法:

func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [NSObject : AnyObject]) {    // If a "Name" element started (which you are interested in), set    // currentElement to an empty string, so that the found characters    // can be collected. Otherwise set it to nil.    if elementName == "Name" {        currentElement = ""    } else {        currentElement = nil    }}func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {    // If the "Name" element ended, get the collected string and    // append it to your list.    if elementName == "Name" {        if let name = currentElement { println(name) myList.append(name)        }    }    currentElement = nil}func parser(parser: NSXMLParser, foundCharacters string: String?) {    // If currentElement is not nil, append the found characters to it:    currentElement? += string ?? ""}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号