-1

here's my code:

public class Payment: NSObject, NSXMLParserDelegate {

public var buchungsdatum:NSDate
public var valutadatum:NSDate
public var betrag:Double
public var verwendungszweck:String

public var creditorIban:String
public var creditorBic:String
public var creditorName:String

public var debitorIban:String
public var debitorBic:String
public var debitorName:String

override init() {
    buchungsdatum = NSDate()
    valutadatum = NSDate()
    betrag = 0.0
    verwendungszweck = ""

    creditorIban = ""
    creditorBic = ""
    creditorName = ""

    debitorBic = ""
    debitorIban = ""
    debitorName = ""
}

override public var description: String {
    return "Payment-Information:"
}

func beginParse() {
    let url = NSURL(fileURLWithPath: "/Users/Andi/Downloads/c53/CAMT/2015-10-06_C53_DE92300606010303502481_EUR_585142.xml")

    let xml = NSXMLParser(contentsOfURL: url)!

    xml.delegate = self
    xml.parse()

}

@objc public func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
    print("get an element")
}

@objc public func parserDidStartDocument(parser: NSXMLParser) {
    print("started")
}


@objc public func parserDidEndDocument(parser: NSXMLParser) {
    print("ended")
}

public func parser(parser: NSXMLParser, parseErrorOccurred parseError: NSError) {
    print("Fehler")
}
} 
var aPayment:Payment = Payment()
aPayment.beginParse()

Can anyone tell me why the parse() returns false and none of the delegate methods get called. Even the parseError one doesn't. I absolutely don't understand why.

Xcode even shows that the XML-File has content and that url isn't nil (see pic) Xcode shows the XMLContent in the playground

1 Answers1

-2

It is most likely because your NSURL is nil.

David Vallas
  • 17
  • 1
  • 4