- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用AEXML并希望将 XML 从 REST 服务传递到 AEXML 解析器。然而,在提供的示例代码中,作者将本地 xml 文件传递到他的解析器中。根据提供的示例,我似乎无法弄清楚如何传递通过 URL 接收的 xml 数据。
我 try catch url 并使用 NSXMLParser
解析它,然后将其传递给 bundler ,但这不起作用。我还尝试从 URL 流创建 NSData 对象。所以这引出了我的问题。
如何将 url 传递给 NSBundle 进行 xml 解析?
相关代码:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// example from README.md
if let xmlPath = NSBundle.mainBundle().pathForResource("example", ofType: "xml") {
if let data = NSData(contentsOfFile: xmlPath) {
// works only if data is successfully parsed
// otherwise prints information about error with parsing
var error: NSError?
if let xmlDoc = AEXMLDocument(xmlData: data, error: &error) {
// prints the same XML structure as original
println(xmlDoc.xmlString)
// prints cats, dogs
for child in xmlDoc.root.children {
println(child.name)
}
// prints Optional("Tinna") (first element)
println(xmlDoc.root["cats"]["cat"].value)
// prints Tinna (first element)
println(xmlDoc.root["cats"]["cat"].stringValue)
如果需要查看更多代码,可以在GitHub here上查看.
最佳答案
您无法将包含远程数据的 URL 传递给 AEXML,因为它不进行联网,仅进行 XML 解析。
您应该首先从 URL 创建 NSData,然后从该数据创建 AEXMLDocument。
如果您查看 AEXMLExample 项目内部,您会找到执行此操作的确切示例,并且如果在模拟器中运行它,您还可以使用任何 URL 进行尝试:
@IBAction func tryRemoteXML(sender: UIButton) {
if let url = NSURL(string: textField.text) {
if let data = NSData(contentsOfURL: url) {
var error: NSError?
if let doc = AEXMLDocument(xmlData: data, error: &error) {
var parsedText = String()
// parse unknown structure
for child in doc.root.children {
parsedText += child.xmlString + "\n"
}
textView.text = parsedText
} else {
let err = "description: \(error?.localizedDescription)\ninfo: \(error?.userInfo)"
textView.text = err
}
}
}
textField.resignFirstResponder()
}
关于xml - 如何将 url 传递给 NSBundle 以使用 AEXML 进行 xml 解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29823077/
//为了编码,我找到了以下示例。不知道现在能不能用 @IBAction func exitImageViewController(seque:UIStoryboardSegue){ let i
我想使用 SWXMLHASH 或 AEXML 库从我博客的 RSS URL 解析 XML。我为此找到了解决方案,但是当我尝试该解决方案时,我的应用程序崩溃了。是遇到的问题:fatal error: u
我正在使用AEXML并希望将 XML 从 REST 服务传递到 AEXML 解析器。然而,在提供的示例代码中,作者将本地 xml 文件传递到他的解析器中。根据提供的示例,我似乎无法弄清楚如何传递通
我是一名优秀的程序员,十分优秀!