XML解析失败

时间:2010-08-11 09:28:44

标签: .net xml xml-parsing

我在XML文档中有这个。

<userdata name='filter'>&SearchExpression[0].Key=Id&SearchExpression[0].Value=1&</userdata>

该值是一个将添加到网址的查询。

一直无法解析。它说文件格式不好。解析器指向括号“[”

括号会导致错误吗?

如何使用括号解析XML文件?

3 个答案:

答案 0 :(得分:4)

将您的xml更改为:

<userdata name='filter'><![CDATA[&SearchExpression[0].Key=Id&SearchExpression[0].Value=1&]]></userdata>

它的含义相同,但允许您在元素内部文本中使用特殊字符 您可以阅读有关CDATA here的更多信息。

答案 1 :(得分:3)

由于&符号,我怀疑它实际上是 。 &符号需要以XML格式转义,如&amp;。你的XML应该是:

<userdata name='filter'>&amp;SearchExpression[0].Key=Id&amp;[...]</userdata>

我的猜测是它在[给出了一个错误,因为它期待一个分号,认为SearchExpression是一个实体名称(不能包含[)。

此文档是手工编辑的,还是由程序创建的?如果它是自动生成的(并且它是您的代码),那么您应该开始使用XML API来创建XML,而不是手动写出字符串 - 它们会为您处理所有这些。

答案 2 :(得分:1)

问题来自以&开头的未完成转义序列,您需要将元素内容包装在<![CDATA[ ]]>中,或者转义&因此:&amp;