【问题标题】:XML Parsing failedXML 解析失败
【发布时间】:2011-03-28 06:54:36
【问题描述】:

我在 XML 文档中有这个。

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

该值是一个将被添加到 url 的查询。

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

括号会导致错误吗?

如何解析带括号的 XML 文件?

【问题讨论】:

    标签: .net xml xml-parsing


    【解决方案1】:

    把你的xml改成这样:

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

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

    【讨论】:

      【解决方案2】:

      我怀疑它是 实际上由于与号。与符号需要在 XML 中进行转义,如 &amp;amp;。您的 XML 应该是:

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

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-08-17
          • 2011-03-19
          • 1970-01-01
          • 2014-12-30
          • 1970-01-01
          • 2018-09-24
          • 1970-01-01
          相关资源
          最近更新 更多