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