【发布时间】:2013-02-12 17:59:33
【问题描述】:
在 C# 中:
我有一组文本行(应该是 XML),它们被发送到要添加到 XML 文档中的函数。每一行都是一个简单的块,如以下 3 个示例:
<AAA f="1" g="3"> </AAA>
<AAA f="2" g="2"> </AAA>
<AAA f="3" g="3"> </AA <-- Oops a bad one!
我需要检查每一行以查看它是否是有效的 XML,然后才能将其接受为完整的 XML 文档,因为有些行是坏的,但我们想要所有好的。
ROW1: good
ROW2: good
ROW3: bad
ROW4: good
在这种情况下,我们只需要 ROW1,2 和 4。
那么,当行字符串不是完整文档时,如何检查行字符串是否是有效的 XML?
【问题讨论】:
-
把它打包成一个文档?
-
如何读取 XDocument 或 XmlDocument 中的整个 xml 并显示来自异常的行号?您也可以将其应用于单行,但这会很慢
-
您给出的所有“有效”示例都将作为完整文档有效,因此您可以将它们解析为完整文档。你能举一个不适用的例子吗?
-
stackoverflow.com/questions/86292/…和stackoverflow.com/questions/1026247/…中有建议;实际上,他们都同意 - 您必须尝试将 sn-p 加载到文档中并捕获无效 XML sn-ps 的结果异常。
标签: c# xml validation parsing