I tried to parse a let contentString = "<p>abcdefg</p><p>hijklmn</p><p>123456</p>", which are html tags, with XMLParser.
When I print elementName and content between tag in XMLParserDelegate methods, only the first tag(p, abcdefg) was printed.
let contentString = "<p>abcdefg</p><p>hijklmn</p><p>123456</p>"
if let data = contentString.data(using: .utf8) {
let parser = XMLParser(data: data)
parser.parse()
}
XMLParserDelegate methods
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) {
print(elementName)
}
func parser(_ parser: XMLParser, foundCharacters string: String) {
print(string)
}
console log
p
abcdefg
I don't know why parser stop parsing at first tag(p)