2017-06-22 8 views
3

テキストファイルからjsonを抽出して解析する必要があります.Jsonの解析方法はわかりますが、xml形式から正しく抽出できません。これはjsonを含むxmlです。iOSのxmlテキストファイルからJsonを抽出するSwift

<Data> 
<Persons>[{"ID":"2","Name":"Catagory 1"},{"ID":"3","Name":"Catagory 2”</Persons> 
<class>[{"ID":"3","Name":"WEAVING”}]</class> 
</Data> 

私が望むものは、例えば、そのタグでjson sepratlyを取得することです。

"Persons":"[{"ID":"2","Name":"Catagory 1"},{"ID":"3","Name":"Catagory 2”}]" 
+0

使用XMLパーサーを。 iOSとSwiftのxml解析がサポートされています。https://developer.apple.com/documentation/foundation/xmlparser – firstinq

+0

@firstinqコードで詳細を説明できますか?私は迅速に少し新しいです。 –

答えて

1

以下のXMLを解析するためのサンプルコードを見つけてください:あなたが得たXMLを解析するために

import UIKit 
import Foundation 
class ViewController: UIViewController { 

    var parser:XMLParser? 
    var foundChars: String = "" 
    var personsStr: String = "" 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     parseXML() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    func parseXML() { 
     let str: NSString = "<Data><Persons>[{\"ID\":\"2\",\"Name\":\"Catagory 1\"},{\"ID\":\"3\",\"Name\":\"Catagory 2\"}]</Persons><class>[{\"ID\":\"3\",\"Name\":\"WEAVING\"}]</class></Data>" 
     if let data = str.data(using: String.Encoding.utf8.rawValue) { 
      parser = XMLParser.init(data: data) 
      parser!.delegate = self 
      parser!.parse() 
     } 

    } 
} 
extension ViewController: XMLParserDelegate { 
    public func parserDidEndDocument(_ parser: XMLParser) { 
     debugPrint("Person str is:: " + self.personsStr) 
     //TODO: You have to build your json object from the PersonStr now 
    } 
    func parser(_ parser: XMLParser, foundCharacters string: String) { 
     self.foundChars = self.foundChars + string 
    } 
    func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { 
     debugPrint("end element::" + elementName) 
     if (elementName == "Persons") { 
      self.personsStr = self.foundChars 
     } 
     self.foundChars = "" 
    } 
} 
+0

私はそれを持って、ありがとう:) –

+0

これは質問に答えることができません(XML - > JSON)。 – Koen

関連する問題