需要验证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
。