任何人都知道任何可用于从 C# 编写 MusicXML 数据的库吗?与此类似:http: //proxymusic.kenai.com/(虽然这个是针对 java 的)。
我会尽量不手动编写它,但如果情况变得更糟,我将别无选择,只能从我的结果中手动输出和编写 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 musicFile.xml
它生成了一个模式文件,并且
xsd.exe 音乐文件.xsd /classes
它产生了所需的c#
类。为了让生成的 xml 被程序读取,我唯一必须添加的Sibelius 7
就是添加
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
快!