似乎没有适用于 .NET 的 BPMN 2.0 Parser,但使用 xsd.exe,它是 Microsoft SDK 的一部分,您可以自己创建一个,而不仅仅是 BPMN。怎么做:
- 从 omg 下载 5 个 xsd 文件:http ://www.omg.org/spec/BPMN/2.0/并将它们放在同一个文件夹中。
- 使用四个参数运行 xsd.exe:
xsd.exe DC.xsd DI.xsd BPMNDI.xsd BPMN20.xsd /classes
第五个文件将由应用程序添加。确保 xsd 的顺序正确。否则它将无法正常工作。
在我的机器上,呼叫看起来像这样:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\xsd.exe" "C:\Users\me\DC.xsd" "C:\Users\me\DI.xsd" "C:\Users\me\BPMNDI.xsd" "C:\Users\me\BPMN20.xsd" /classes
结果,您将收到一个包含所有类的 BPMN20.cs。您甚至可以更改输出语言(默认为 C#)。只需在xsd.exe
没有参数的情况下运行即可查看所有选项。
要在 .Net 中使用它,请务必将 System.Xml 添加为程序集,然后您可以像这样获得 Object:
var serialzer = new XmlSerializer(typeof(tDefinitions));
var XmlStream = new StreamReader("bpmn.xml");
var document= (tDefinitions) serialzer.Deserialize(XmlStream);