输入input string 是:
- XML code
<WORK_DATA> <WORK_CODE>WK0011</WORK_CODE> <DESC>23/7/2011</DESC> </WORK_DATA>
输出output string 是:
- XML code
<WORK_DATA> <STATE>Y</STATE> <ERROR>N</ERROR> <WORK_DETAIL> <WORKER_NAME>小强</WORKER_NAME> <DATE>2011-08-12</DATE > <POSITION>科长</ POSITION > <WORK_YEAR>5</ WORK_YEAR > </WORK_DETAIL> <WORK_DETAIL> <WORKER_NAME>小强2</WORKER_NAME> <DATE>2011-08-32</DATE > <POSITION>班长</ POSITION > <WORK_YEAR>2</ WORK_YEAR > </WORK_DETAIL> </WORK_DATA>
其中,WORK_DATA 是不定的,有时候是2条记录,有时候是N条记录
如果获取输出数据出错,则返回
- XML code
<WORK_DATA> <STATE>N</STATE> <ERROR>Y</ERROR> </WORK_DATA>
请问我该怎么调用这么webService并且解析出那些不定数目的WORK_DATA 呢?
望高手们指点,最好有个小例子我可以模仿,谢谢啦!(新手分不多望各位见谅)
------解决方案--------------------
xml格式的字符串与.net内存对象的转换,这叫做“xml序列化/反序列化”。你自己搜索一下。
------解决方案--------------------
你的第二个,加上一个最外层的对象(例如叫做ArrayOfWORK_DATA)才好。
在xml序列化中有很多需要转义的,例如假设字符串中有大于号、小于号、回车、换行、&之类的字符等等。另外比如说时间应该以什么格式表示,是用某种UTC时间规范还是本地时间的某种格式等等,这些都应该有设计文档。
------解决方案--------------------
哦,设计文档不是说在开发web service之前要详细设计出每一个功能,而是说要在设计web service之后立刻写一个api文档供所有客户端设计自己的通讯部分。你应该去问问给你提供web service服务的那个部门(或者公司),有没有正规的文档。
仅仅是wsdl是远远不够的,wsdl只能保证传输正确,但是不能解释字段的业务意义,所以还是以跟他们沟通为主。