解析大型 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 代码上?我在互联网上找不到任何解决方案。谢了。