一般来说,我正在寻找一种对业务流程进行建模的方法。我经常发现 UML 和 BPMN 作为这个问题的答案。现在我想用一个程序检查这个模型。只有 UML 规范这些元素应该是什么样子,而不是应该如何保存这些不同的模型。这就是我仔细研究 BPMN 的原因。对象管理组有一个 BPMN 2.0 规范。
我下载了一个 BPMN 编辑器并开始使用这个符号。现在我想开始编写一个程序来检查这个 BPMN 2.0 文件(更准确地说,它们是 xml 文件)。是否有任何与此 BPMN 配合使用的 .NET 框架和/或实现?我只是不想为此编写自己的扩展 XML 解析器。
如果不是:还有哪些其他模型可用于对此类模型进行编程检查?
关于检查:我想搜索是否可以在模型中找到不同类型的信息,如果找不到这些信息,则发出警告。
似乎没有适用于 .NET 的 BPMN 2.0 Parser,但是使用 xsd.exe,这是 Microsoft SDK 的一部分,您可以自己创建一个,而不仅仅是 BPMN。怎么做:
xsd.exe DC.xsd DI.xsd BPMNDI.xsd BPMN20.xsd /classes第五个文件将由应用程序添加。确保 xsd 的顺序正确。否则它不会工作。
在我的机器上,Call 看起来像这样:
"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作为Assembly,然后你就可以得到这样的Object:
var serialzer = new XmlSerializer(typeof(tDefinitions));
var XmlStream = new StreamReader("bpmn.xml");
var document= (tDefinitions) serialzer.Deserialize(XmlStream);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6010 次 |
| 最近记录: |