检查 XML 代码的有效性



需要验证XML:

  • 正确标记;
  • 检查字符">"、"<"、"&",因为它们是禁止的,但在&xHEX中是允许的,其中十六进制是第 16 种表示法中的数字。

我认为我需要创建这样的XDocument

static void Main(string[] args)
{
    string s = "<?xml version="1.0" encoding="utf-8"?>" +
               "<!--This is a comment.-->" +
               "<?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>" +
               "<Pubs>" +
                   "<Book>" +
                       "<Title>Artifacts of Roman Civilization</Title>" +
                       "<Author>Moreno, Jordao</Author>" +
                   "</Book>" +
                   "<Book>" +
                       "<Title>Midieval Tools and Implements</Title>" +
                       "<Author>Gazit, Inbar</Author>" +
                   "</Book>" +
               "</Pubs>" +
               "<!--This is another comment.-->";//= Console.ReadLine();
    try
    {
        XDocument xDoc = XDocument.Parse(s);                
        xDoc.Save("C://22.xml");
        Console.WriteLine("Valid");
    }
    catch
    {
        Console.WriteLine("Invalid");
    }
}

Framework 2有什么类似的XDocument.Parse(s)吗?

XDocument 和整个 LINQ to XML 是在 .NET 3.5 中引入

如果您使用的是 .NET Framework 2.0,则应使用 XmlDocument

var doc = new XmlDocument();
doc.LoadXml(s);
doc.Save("C//22.xml");

LoadXml 在文档无效且无法执行解析时引发XmlException

最新更新