没有名称的Xml标记

问题描述:

我有一个xml文件,其中包含一个没有名称的元素<>并且我不允许更改该文件。我正在使用XMLReader和Xnode来读取文件。没有名称的Xml标记

var el = XNode.ReadFrom(reader) as XElement; 

但我得到关于空标签

Name cannot begin with the '>' character 

这里的错误是XML结构的例子。

<element1> 
    <> 
     <element2> 
     </element2> 
    </> 
</element1> 

如何处理一个节点有一个缺少名称而不更改xml文件的情况?

+1

的方式,我想你可以捕获该异常。然后你知道你遇到了一个''然后跳过它并继续阅读剩下的内容。 – Sweeper

+3

你可以把它看作一个字符串,用''和' faultyTagName>'替换''和'>',然后解析字符串。 –

+0

您可以先将文件读取为文本,并用替换所有''和' invalidElementName>'替换所有'>'。然后你将它解析为有效的xml。 – oerkelens

XMLReader是严格的。任何不合格,它都会引发错误。

所以,不,你不能,除非你自己写的XMLReader跳过畸形XML元素..

清理输入可能是要走

+1

下面是一个[示例](https://blogs.msdn.microsoft.com/jmstall/2005/ 08/09/implements-your-own-xmlreader-the-easy-way /)自定义XMLTextReader –