Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSXMLParser忽略XML';s DTD_Ios_Xml_Swift_Nsxmlparser - Fatal编程技术网

Ios NSXMLParser忽略XML';s DTD

Ios NSXMLParser忽略XML';s DTD,ios,xml,swift,nsxmlparser,Ios,Xml,Swift,Nsxmlparser,我在iOS应用程序中解析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

我在iOS应用程序中解析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>
结果:

id => [16]
id => [
    ]
title => [X]
title => [
    ]
...

为什么NSXMLParser不识别DTD?

DTD提供了XML元素和属性的信息重组,而不是空格/制表符-DTD的哪一部分处理空格?我遵循这一点来实现这一点
id => [16]
id => [
    ]
title => [X]
title => [
    ]
...