从 Ax2009 返回 XMLDocument
我在 Axapta 中有一个函数,如下所示:
static client XMLDocument GetXmlData()
{
XMLDocument xmlReturnDoc = new XMLDocument();
// Build XML Document
return xmlReturnDoc;
}
这将返回一个 XML 文档。然后,我使用业务连接器从 .NET 程序中调用它,如下所示:
Axapta ax;
object o;
ax = new Axapta();
ax.Logon(null, null, null, null);
o = ax.CallStaticClassMethod(“MyClass”, “GetXmlData”);
但是,我似乎无法将其转换为 .NET 中的 System.Xml.XmlDocument。有没有办法做到这一点,或者我需要返回一个字符串并重新加载文档?
I have a function in Axapta as follows:
static client XMLDocument GetXmlData()
{
XMLDocument xmlReturnDoc = new XMLDocument();
// Build XML Document
return xmlReturnDoc;
}
This returns an XML document. I’m then calling this from a .NET program using the business connector as follows:
Axapta ax;
object o;
ax = new Axapta();
ax.Logon(null, null, null, null);
o = ax.CallStaticClassMethod(“MyClass”, “GetXmlData”);
However, I don’t seem to be able to cast this to a System.Xml.XmlDocument in .NET. Is there a way to do this, or do I need to return a string and reload the document?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
AX
XMLDocument
与 CLRSystem.Xml.XmlDocument
不同。对象类型之间没有自动转换。
有一些基本类型的隐式转换,但只有一种方法。
请参阅如何:在 X++ 和 CLR 基元类型之间进行封送。
阅读如何:使用 .NET Business Connector 调用业务逻辑毫无疑问最简单的方法是返回 XML 字符串。
AX
XMLDocument
is not the same beast as CLRSystem.Xml.XmlDocument
.There is no automatic conversion between object types.
There are some implicit conversions of primitive types, but only one way.
See How to: Marshal Between X++ and CLR Primitive Types.
Reading How to: Call Business Logic Using .NET Business Connector leaves little doubt that the easy way is to return the XML string.
恕我直言,您可以将正确的类型传递到 Ax
并从 CLR 调用此 AX 方法:
AX 可以与 CLR 数据类型正常工作 - 您可以在 AX 端生成 NET XML 文档。
IMHO, you can pass the correct type into Ax
and call this AX method from CLR :
AX works correctly with the CLR data types - you can generate NET XML document on the AX-side.