У меня странное поведение при разборе большого xml (но я не уверен, что тот факт, что он большой, вызывает проблему). Это формат xml:
<?xml version="1.0" encoding="UTF-8"?>
<webservice>
<control>
<operation>get_clips</operation>
<status>0</status>
</control>
<data>
<cat size="4" lang="EN"/>
<cat size="3" lang="EN"/>
' and 19 more other similar 'cat' elements
</data>
</webservice>
и это код, где m.rawResponse - это строка xml выше.
if m.rawResponse <> "" then
xml = CreateObject("roXMLElement")
print "################ "; m.rawResponse ' contains the entire xml
xml.Parse( m.rawResponse )
print "################ "; m.rawResponse ' contains the entire xml
' I've tried like this
categories = xml.data.GetChildElements()
print "number of categories: " ; categories.Count() ' prints 14
' and also like this
i = 0
for each categ in xml.data.cat
i = i +1
end for
print i ' prints 14
end if
Проблема в том, что обрабатывается только 14 элементов cat вместо 21, и я действительно не знаю, почему. Пожалуйста, помогите мне с любыми идеями. Большое спасибо!
Позднее редактирование Я добавил проверку, чтобы убедиться, что синтаксический анализ прошел успешно и что-то пошло не так. Проблема связана с символом & - у меня есть в xml следующая строка:
<director>Donald Nij & Rick Senjin</director>
Как решить этот вопрос, но не на стороне сервера, а на коде Roku? Я не мог найти решение поиска в Интернете. спасибо
&следует кодировать как&в XML. - person Torious   schedule 18.04.2012