我正在使用KissXML
. 我可以成功解析小型 XML,但遇到大型 XML 问题。这是我的代码
let url = URL(fileURLWithPath: xmlPath!)
let xmlData = try! Data(contentsOf: url)
do {
let doc = try DDXMLDocument(data: xmlData, options:0)// This is not working if xml is large (6MB)
let project = try! doc.nodes(forXPath: "//Project") as! [DDXMLElement]
for user in project {
let ProjectName = user.attribute(forName: "ProjectName")!.stringValue
let userTime = user.attribute(forName: "UseTime")!.stringValue
print("ProjectName:\(ProjectName!),userTime:\(userTime!)")
}
}
catch {
print("\(error)") //Get some idea from this error
}
解析 12k XML 时成功,但 6M XML 失败。解析大型 XML(6M) 时,doc 等于 nil。我尝试使用NSXMLParser,出现同样的问题,小文件可以工作,大文件不能。错误:NSXMLParserErrorDomain错误4。