没有名称的Xml标记
问题描述:
我有一个xml文件,其中包含一个没有名称的元素<>并且我不允许更改该文件。我正在使用XMLReader和Xnode来读取文件。没有名称的Xml标记
var el = XNode.ReadFrom(reader) as XElement;
但我得到关于空标签
Name cannot begin with the '>' character
这里的错误是XML结构的例子。
<element1>
<>
<element2>
</element2>
</>
</element1>
如何处理一个节点有一个缺少名称而不更改xml文件的情况?
答
XMLReader是严格的。任何不合格,它都会引发错误。
所以,不,你不能,除非你自己写的XMLReader跳过畸形XML元素..
清理输入可能是要走
+1
下面是一个[示例](https://blogs.msdn.microsoft.com/jmstall/2005/ 08/09/implements-your-own-xmlreader-the-easy-way /)自定义XMLTextReader –
的方式,我想你可以捕获该异常。然后你知道你遇到了一个''然后跳过它并继续阅读剩下的内容。 – Sweeper
你可以把它看作一个字符串,用''和' faultyTagName>'替换''和'>',然后解析字符串。 –
您可以先将文件读取为文本,并用替换所有''和' invalidElementName>'替换所有'>'。然后你将它解析为有效的xml。 – oerkelens