我有一个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);
答案 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
。