检查XML代码的有效性

时间:2014-02-11 23:49:28

标签: c# xml

需要验证XML:

  • 正确标记;
  • 检查字符“>”,“<”,“&”,因为它们是被禁止的,但在&xHEX中允许,其中HEX是一个数字在第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");
    }
}

XDocument.Parse(s)是否有类似的Framework 2

1 个答案:

答案 0 :(得分:1)

在.NET 3.5中引入了

XDocument和整个LINQ to XML

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

var doc = new XmlDocument();
doc.LoadXml(s);
doc.Save("C//22.xml");
当文档无效并且无法执行解析时,

LoadXml抛出XmlException