我從服務中以xml的形式接收響應,我使用nsxmlparser解析該服務。 。 在我接收到的XML,其中內容是在兩個標籤相同的實例(重複項如以下XML)CData未被NSXmlparser解析
的Xml接收:
<UserGeneratedContentItem>
<link
rel="details"
uri="http://api.test.no/test.Ugc/vivo/usergeneratedcontentitem/16046" />
<Data><![CDATA[<Type>Note</Type><Description>**6000 characters**</Description><Page>6</Page><ChapterNumber>1</ChapterNumber><ChapterTitle>Etikk og filosofi</ChapterTitle><Uri>http://api.test.no/test.Ugc/vivo/usergeneratedcontentitem/6</Uri><Data><StickyNotes><StickyNote name="icon_2" X="215.8" Y="352.7" note="**6000 characters**" dateTime="null" popupX="940" popupY="119" popupWidth="300" popupHeight="180" formatedDate ="2012-12-28-18-20-47" iconImage="1003"/></StickyNotes></Data>]]></Data>
</UserGeneratedContentItem>
<UserGeneratedContentItem>
<link
rel="details"
uri="http://api.test.no/test.Ugc/vivo/usergeneratedcontentitem/16046" />
<Data><![CDATA[<Type>Note</Type><Description>**6000 characters**</Description><Page>6</Page><ChapterNumber>1</ChapterNumber><ChapterTitle>Etikk og filosofi</ChapterTitle><Uri>http://api.test.no/test.Ugc/vivo/usergeneratedcontentitem/6</Uri><Data><StickyNotes><StickyNote name="icon_2" X="215.8" Y="352.7" note="**6000 characters**" dateTime="null" popupX="940" popupY="119" popupWidth="300" popupHeight="180" formatedDate ="2012-12-28-18-20-47" iconImage="1003"/></StickyNotes></Data>]]></Data>
</UserGeneratedContentItem>
6000字符包括字母,arithmatic &一般標點符號其將被編碼。
習題:
在 - (無效)解析器:(的NSXMLParser *)解析器foundCDATA:(NSData的*)CDATABlock 方法含量在CDATABlock變量不是在兩種情況下相同的(兩個標籤)。在一個它給我所有的6000個字符,而在另一個例子中,它只給我提供了大約300個字符。在兩種情況下,我確認的文本(6000個字符)是相同的。
可能是什麼原因?有人可以幫助我,可能是像我這樣的早期遇到過這樣的問題的人。
Tnx在advance.Plz讓我知道,如果有什麼不清楚或不明白。
非常感謝Dail-Djan的建議。我在做什麼是完全一樣的。我正在挑選CDATA的數據並形成一個xml並再次解析它。我的概率是CDATA塊中的數據是我不知道我有時候會把它附加到文本中,因爲它可能被稱爲N次。我懷疑我該如何知道CDATA迭代(第N次)的結束,以便我可以從xml和parse它會更有幫助,如果你有一個樣本其他建議也會做。再次請分享你的想法,這真的幫助了我很多。 – Dinakar
更新:它發生在我的情況下,CDATA被稱爲N次,現在我已經使用了一個標誌來追加文本,並再次解析它。目前在我的迴應中,CDATA塊以結尾,當遇到我正在結束結束CDATA塊並啓動解析爲一個新的XML,這工作,只要我的迴應結束和該塊中的內容沒有文字。是否有一種方法(如委託方法),我可以在哪裏知道CDATA塊的結束,這將是具體的解決方案,而不是依賴於標誌和文本。 TNQ再次。 – Dinakar
到達終點,當另一個NSXMLParser的委託方法被調用時,我猜...:/抱歉..這個調用的作用類似於'parser:foundCharacters:' –