NSXMLParser忽略XML的DTD

时间:2014-11-11 19:14:44

标签: ios xml swift nsxmlparser

在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?

0 个答案:

没有答案