通过代码将XDocument转换为xsd文件

时间:2012-10-23 10:44:38

标签: c# xml xsd

  

可能重复:
  How to create XSD file programmatically in C#?

我有一个XDocument对象,我想通过代码

将其转换为xsd文件

我该怎么做?

我的项目如下:

WebClient client = new WebClient(); 
Stream stream = client.OpenRead("http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Vancouver+BC|Seattle&destinations=San+Francisco|Vancouver+BC&mode=bicycling&language=fr-FR&sensor=false"); 
XDocument doc = XDocument.Load(stream); 

1 个答案:

答案 0 :(得分:2)

如果XSD对象中加载的XML符合XDocument格式,只需将其保存在XSD扩展名中即可。

WebClient client = new WebClient(); 
Stream stream = client.OpenRead("http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Vancouver+BC|Seattle&destinations=San+Francisco|Vancouver+BC&mode=bicycling&language=fr-FR&sensor=false"); 
XDocument doc = XDocument.Load(stream);
// ...
doc.Save(@"C:\AnyFileName.xsd");

已添加:或者如果XML不是XSD格式,那么您可以根据输入XSD生成XML下面的代码:

doc.Save(@"C:\xmlFile.xml");
string parms = @"C:\File.xml /outputdir:C:\\";
string xsdExePath = @"C:\Program Files\...\xsd.exe";
ProcessStartInfo psi = new ProcessStartInfo(xsdExePath, parms);
var process = System.Diagnostics.Process.Start(psi);

现在,您可以在C:\ drive root上使用XSD