我想 a) 生成 XML 请求 b) 并解析响应
基于我从其中一个 OEM 获得的架构(.xsd)。
我在网上进行了研究,generateDS 似乎是我正在寻找的那个,但是我正在努力让它发挥作用。
我能够生成 Python 类,但是我不确定这是否是正确的方法。
我正在尝试使用从 XSD 创建的 python 模块在运行时生成 xml 请求,这种方法对于生产应用程序是否正确。或者我应该通过 xml.etree.ElementTree 生成 xml 请求(我知道在后台 generateDS 也在使用它)。
当我实例化一个类时,它不会生成完整的 xml 输出。
最终结果应该是这样的:
<BroadsoftDocument protocol = "OCI" xmlns="C" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<sessionId xmlns="">123123</sessionId>
<command xsi:type="AuthenticationRequest" xmlns="">
<userId>12431232131</userId>
</command>
</BroadsoftDocument>```
Help on class AuthenticationRequest in module OCISchemaLogin_gds:
class AuthenticationRequest(OCIRequest)
| AuthenticationRequest(echo=None, userId=None, **kwargs_)
|
| AuthenticationRequest is 1st stage of the 2 stage OCI login process.
|
| Method resolution order:
| AuthenticationRequest
| OCIRequest
| OCICommand
| GeneratedsSuper
| builtins.object
|
| Methods defined here:
|
| __init__(self, echo=None, userId=None, **kwargs_)
| Initialize self. See help(type(self)) for accurate signature.
|
CODE:
auth_req = OCISchemaLogin_gds.AuthenticationRequest(userId = self.userId,)
command =[OCISchemaLogin_gds.OCICommand(extensiontype_='AuthenticationRequest') ]
message = OCISchemaLogin_gds.OCIMessage(protocol='OCI',sessionId=session, userId=self.userId, command= command)
message.export(sys.stdout,1)
OUTPUT:
<OCIMessage xmlns:None="C" protocol="OCI"> <sessionId>12421321</sessionId>
<userId>12321321</userId>
<OCICommand xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AuthenticationRequest"/>
</OCIMessage>
SUCCESSFUL
我是否正确使用它?