在iOS App中解析XML时遇到问题。我定义DTD以删除空格和制表符。 这是我的xml。
<?xml version="1.0" ?>
<!DOCTYPE list [
<!ELEMENT list (bsinfo+)>
<!ELEMENT bsinfo (id,title,desc,books)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT books (book+) >
<!ELEMENT book (idu, pages) >
<!ELEMENT idu (#PCDATA)>
<!ELEMENT pages (#PCDATA)>
]>
<list>
<bsinfo>
<id>16</id>
<title>X</title>
<desc>none</desc>
<books>
<book>
<idu>123</idu>
<pages>567</pages>
</book>
<book>
<idu>874</idu>
<pages>256</pages>
</book>
</books>
</bsinfo>
</list>
当我解析它仍然有空格和标签:
func parser(parser: NSXMLParser!, foundCharacters string: String!)
{
println(xmlElement + " => [" + string+"]")
}
结果:
id => [16]
id => [
]
title => [X]
title => [
]
...
为什么NSXMLParser无法识别DTD?