C#到MusicXML?
任何人都知道可以用来从C#编写MusicXML数据的库吗? 与此类似: http : //proxymusic.kenai.com/ (虽然这是针对java的)。
我会尝试不手动编写,但如果情况更糟,我将别无选择,只能从我的结果中手动输出和编写MusicXML。
由于MusicXML 具有可用的XML架构 ,因此您可以使用xsd.exe来创建表示XML结构的类:
xsd /c xlink.xsd musicxml.xsd container.xsd opus.xsd
然后,您可以使用XmlSerializer
从/向文件加载和保存生成的类。
(由于某种原因,其中一个模式文件osfpvg.xsd无法正确编译。这里希望你不需要它。)
要使用xsd.exe,您可以使用以下命令:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\xsd.exe" "c:\dev\musicxml30\musicxml.xsd" "c:\dev\musicxml30\xlink.xsd" "c:\dev\musicxml30\xml.xsd" /c /o:"c:\dev"
这将在c:\ dev文件夹中创建名为musicxml_xlink_xml.cs的文件。
编译类
对我来说,当我尝试转换MusicXml3.0.xsd
, xsd.exe
每次xsd.exe
失败了。 所以,我做的是
xsd.exe musicFile.xml
它生成了一个模式文件,和
xsd.exe musicFile.xsd / classes
它产生了所需的c#
类。 为了让Sibelius 7
等程序读取生成的xml,我必须添加的唯一内容就是添加
并且presto!