xml-parsing in iOS swift
Ich bin mit bar-oder QR-code Scannen Aadhar-Karte.Ich bin immer die Antwort wie im folgenden xml-format.Wie konvertiert diese in das dictionary-format unter Verwendung von xml-parsing?
<?xml version="1.0" encoding="UTF-8"?><PrintLetterBarcodeData uid="685860050795" name="Sangeetha D" gender="F" yob="1989" co="W/O: Dhanansekaran" house="632" street="saradhambal nagar" lm="agaramel" vtc="Nazarathpettai" po="Nazarethpettai" dist="Tiruvallur" subdist="Poonamallee" state="Tamil Nadu" pc="600123" dob="03/06/1989"/>
Habe ich versucht den folgenden code für das Parsen
public func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
currentElement=elementName;
print(currentElement)
}
public func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
currentElement="";
}
public func parser(parser: NSXMLParser, foundCharacters string: String) {
}
Aber seine Rückkehr immer die currentElement
als "PrintLetterBarcodeData"
- Ich bearbeitet meine Frage
- Ich glaube nicht, dass Sie haben zu schreiben, Ihre eigenen Methoden zu behandeln, weil Sie lieber arbeiten wollen, mit den Daten, die Sie erhalten. Sie können verwenden Sie eine der aufgeführten hier, wenn Sie sind ok mit die Verwendung von Drittanbieter-Bibliotheken.
- XML hat nur eine Ebene. Es ist normal. Aber Sie können daran interessiert sein
attributeDict
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier einige parsing-code, den ich schrieb in Swift 3 basiert auf einer Google News-RSS-reader ich vorher schrieb in Swift 2.0. Ich haben diesen code geändert und verarbeitet eine Liste von
PrintLetterBarcodeData
- Elemente, sowie einen einzigen:Verwendung:
Scheint es, als ob Sie Ihre erwartete XML-Struktur nur aus dem root-element
PrintLetterBarcodeData
und seine Attribute.Finden Sie die Attribute Ihres root-element in der
attributeDict
Eigenschaft in derdidStartElement
delegate-Methode.Beispielsweise zum extrahieren der
name
Eigenschaft, die Sie tun würde: