跳过标记属性中的 Html 内容

Skipping Html Content in Tag attributes

我正在使用 SAX 解析器解析以下具有 "Description" 属性且包含 HTML 内容的数据。但我收到错误消息“与元素类型 "null" 关联的属性 "Description" 的值不得包含‘<’字符”。

如何让 SAX 解析器在 XML 处理时忽略这个标签?

<Thread ThreadID="22" Title="google"
                    Description="<a href="http://google.com/">http://google.com/</a>"
                    DisplayName="Sam" LoginID="hjaja" UserEmailID="abx@ers"
                    UserSapCode="12345"
                    IsAnonymous="Yes" CreatedDate="2015-04-29T21:56:04.943" ReplyCount="0"
                    ViewCount="0" PopularityPoints="0" LastUpdatedBy="" LastPostDate="" />

提前致谢。

我真的认为你应该看看这个 post (HTML code inside XML) 看看其他人如何建议解决这个问题。

没有 XML 解析器可以解析此数据,因为数据不符合 xml 格式。请参考XML specifications.

有两种方法可以解决这个问题:

  1. 更改源格式

更改源以创建正确的 XML。您可以通过使用这些转义字符来包含 HTML:

"   &quot;
'   &apos;
<   &lt;
>   &gt;
&   &amp;
  1. 更改目标算法

其次是为您的案例创建自己的解析算法。

通常答案总是第一个。