1.xsd介绍
详见: http://blog.sina.com.cn/s/blog_ad0672d60102uy6w.html
2.生成xsd
DataSet dataSet = new DataDet();
// read date from xml file
dataSet.ReadXml(@"xml2.xml", XmlReadMode.ReadSchema);
// .. or set data with code
// save as xsd file
System.IO.StreamWriter writer = new System.IO.StreamWriter("Customers.xsd");
dataSet.WriteXmlSchema(writer);
writer.Close();
// get xsd format contents
string schemaString = dataSet.GetXmlSchema();
// save as xml
dataSet.WriteXml(@"xml2_new.xml", XmlWriteMode.WriteSchema);
3.由xsd生成xml
xsd.exe工具可生成操作的cs类,再有生成的cs类生成xml文件
详见: http://blog.sina.com.cn/s/blog_ad0672d60101g02h.html
4.xsd检验xml
using System.Xml;        // for XmlTextReader and XmlValidatingReader
using System.Xml.Schema; // for XmlSchemaCollection (which is used later)
private static bool isValid = true;      // If a validation error occurs,
                                         // set this flag to false in the
                                         // validation event handler. 
XmlTextReader r = new XmlTextReader("ProductWithXSD.xml");
XmlValidatingReader v = new XmlValidatingReader(r);
v.ValidationType = ValidationType.Schema;
v.ValidationEventHandler += new ValidationEventHandler(MyValidationEventHandler);
while (v.Read())
{
   // Can add code here to process the content.
}
v.Close();
// Check whether the document is valid or invalid.
if (isValid)
   Console.WriteLine("Document is valid");
else
   Console.WriteLine("Document is invalid");
   
public static void MyValidationEventHandler(object sender, 
                                            ValidationEventArgs args) 
{
   isValid = false;
   Console.WriteLine("Validation event\n" + args.Message);
}
// 另一种方法
XDocument xDoc = XDocument.Parse(xxxxxxx);
string xsdPath = ConfigUtils.GetXsdPath(XsdSchemaIdentifier.HHDataItem);
XmlSchemaSet xss = new XmlSchemaSet();
xss.Add("", xsdPath);
fs.Close();
fs.Dispose();
xDoc.Validate(xss, null);

最新文章

  1. 坑爹的微信支付v3,其实没有那么坑
  2. Java 流(Stream)、文件(File)和IO
  3. 更新Mac OSX XCode后Git 不能使用提示Can't start Git: /usr/bin/git
  4. SOA 面向服务的体系结构
  5. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件
  6. Javascript高级程序设计——函数声明与函数表达式的区别
  7. CentOS PPTP配置FreeRADIUS+DaloRADIUS实现高级用户控制+流量控制
  8. 新版Chrome自动禁用第三方插件的解决办法[转]
  9. ugui 获取Text的高度,动态改变高度
  10. MySQL入门书籍和方法分享
  11. 安装windowbuilder错误一例
  12. JQuery Pagenation 知识点整理——(function($){...})应用(20150517)
  13. OpenGL超级宝典第5版&&缓冲区
  14. 分享:json2.js源代码解读笔记
  15. Spring集成XFire开发WebService
  16. java内存分析总结
  17. MySQL学习笔记_3_MySQL创建数据表(中)
  18. IIS系统短文件名漏洞猜解过程
  19. React Native & Android & iOS & APK
  20. tomcat部署项目

热门文章

  1. 【转】visualSFM生成的bundle.rd.out文件的格式
  2. kmp--看毛片算法
  3. Ubuntu防火墙简单设置
  4. c#接口与虚函数的实验报告
  5. 《DSP using MATLAB》Problem 5.34
  6. js实现一条抛物线
  7. Centos7禁止或者允许开机启动服务
  8. malloc,calloc,alloca和free函数
  9. ClusterControl docker 环境搭建
  10. 使用tailor 轻松方便的集成web 框架react&&vue