我正在编写一个轻量级的 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;
}
}
}
最佳答案
我可能只是作弊。 :) 这将为您提供行号和位置:
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());
}
关于c# - 如何找到字符串格式错误的 XML(在 C# 中)的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199238/