首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将无效的XML加载到XmlDocument中

如何将无效的XML加载到XmlDocument中
EN

Stack Overflow用户
提问于 2012-03-26 20:05:26
回答 3查看 1K关注 0票数 0

我有一些我知道是无效XML的数据(由遗留应用程序产生),例如:

代码语言:javascript
运行
复制
<document>
  <dossier>
    <answers>
      <answer>Ref=some <text> here</answer>
    </answers>
  </dossier>
</document>

我想把它加载到一个XmlDocument中,但是它现在失败了,因为它把"“当作了一个标签。请注意,这只是一个示例。通常的问题是,答案可以包含任意顺序的未转义尖括号,中间有不同的字符。

我有什么选择?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-26 20:08:47

例如,您可以使用正则表达式,并在使用XmlDocument解析内容之前对<answer> </answer>中的内容进行转义。

匹配<answer>(.+?)</answer>之类的内容,并将捕获的组替换为转义版本。

票数 0
EN

Stack Overflow用户

发布于 2012-03-26 20:14:00

使用HTMLAgilityPack。这可以处理无效/格式错误的标记,它做得很好。

票数 0
EN

Stack Overflow用户

发布于 2012-03-26 21:36:49

最简单的做法是将有问题的XML包装在CData部分中。这样,生成的XML文档可能如下所示:

代码语言:javascript
运行
复制
<wrapper>
    <![CDATA[
        <document>
          <dossier>
            <answers>
              <answer>Ref=some <text> here</answer>
            </answers>
          </dossier>
        </document>
    ]]>
</wrapper>

有关CData的更多详细信息,请访问here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9871761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档