我有一个xml格式的日志文件,例如

<log> // skip this node
  <?xml version="1.0" encoding="UTF-8"?>
  <qbean logger="main-logger">
  </qbean>
</log>
<log> // go to this node
</log>


现在,ReadToNextSibling(“ log”)引发异常,我需要跳过第一个“ log”标记的内容并移至下一个“ log”标记,而不会引发异常。
有办法吗?

最佳答案

暗示:


您的XML无效,因为<?xml version="1.0" encoding="UTF-8"?>必须在根元素之前。如果可以解决问题,则可以搜索并删除它。您可以使用yourXml.Repalce("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "")
您必须为XML创建一个根元素,以使其对解析有效。


然后,可以使用XmlDocument类来解析所拥有的XML数据,并跳过所需的任何内容。您将需要以下内容:

var document = new XmlDocument();

document.LoadXml(yourXml);

document.DocumentElement.ChildNodes[1]

关于c# - C#跳过任何内容到下一个标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37671544/

10-13 02:55
查看更多