我正在编写一个轻量级的XML编辑器,如果用户的输入格式不正确,我想向用户指出问题出在哪里,或者至少在第一个问题出现的地方.有谁知道现有的算法吗?如果看代码有帮助,如果我可以填写FindIndexOfInvalidXml方法(或类似的东西),这将回答我的问题.
using System;
namespace TempConsoleApp
{
class Program
{
static void Main(string[] args)
{
string text = "<?xml version=\"1.0\"?><tag1><tag2>Some text.</taagg2></tag1>";
int index = FindIndexOfInvalidXml(text);
Console.WriteLine(index);
}
private static int FindIndexOfInvalidXml(string theString)
{
int index = -1;
//Some logic
return index;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可能只是作弊.:)这将为您提供一个行号和位置:
string s = "<?xml version=\"1.0\"?><tag1><tag2>Some text.</taagg2></tag1>";
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
try
{
doc.LoadXml(s);
}
catch(System.Xml.XmlException ex)
{
MessageBox.Show(ex.LineNumber.ToString());
MessageBox.Show(ex.LinePosition.ToString());
}
Run Code Online (Sandbox Code Playgroud)