如何在给定的行号处获取XML节点

时间:2017-02-15 07:59:52

标签: c# xml debugging xml-parsing

我有一个xml字符串,在对这个xml进行序列化时,我得到了一个错误,例如' XML文档中存在错误(498,31)' 。如何在c#中的这个位置获取xml节点,以便我可以将它发送给用户,告知该特定节点存在问题。

using (TextReader reader = new StringReader(xml)) 
{ 
    try 
    { 
        tempClass = (T)new XmlSerializer(typeof(T)).Deserialize(reader); 
    } 
    catch (InvalidOperationException ex) 
    { 
        //Here we need to show the node in which the error occurred 
    } 
}

在catch中,我收到了如下消息:' XML文档中存在错误(498,31)'。我想向用户抛出一个自定义错误消息,' in这个特殊的节点'有一个问题' 任何有关该主题的帮助或想法将不胜感激。

1 个答案:

答案 0 :(得分:4)

您不能使用XML函数(因为该文件不是有效的XML),因此请将其作为文本阅读并向用户发送有问题的行。

sparse