首页 新闻 会员 周边

【求指点】关于自定义webservice返回的xml !!

0
[已解决问题] 解决于 2010-06-02 16:06

我们的一个WebMethod中包含多个操作,具体根据每次输入的ActionType来判断执行几个操作,以及分别是哪几个操作。获取到当前需要执行的ActionType列表后,分别调用各个action对应的函数,逐一执行并返回各自的值....

开始做的webservice只是返回一个string →   <string xmlns="">Warning MSG </string>

现在要求返回下面这种结构的....

<status></status>
<MSG></MSG>
<Children>
    <ActionType>01</
ActionType> 
        <status></status>
        <MSG></MSG>
    <
ActionType>02</ActionType>
        <status></status>
        <MSG></MSG>
      ........................

</Children>

也就是说,先返回一对总的status跟msg,然后再分别返回每个子节点以及它们各自的status跟msg.... 



我知道子节点的部分要循环生成,8过具体返回的xml部分该怎么创建啊?就像这样??→

XmlDocument xmldoc = new XmlDocument();
XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "GB2312", null);
xmlDoc.AppendChild(dec);
 
XmlElement status= xmlDoc.CreateElement("status");
xmlDoc.AppendChild(status);
XmlNode MSG = xmlDoc.CreateElement("MSG");
MSG.InnerText = ".....";

//下面循环创建子节点....

return xmlDoc; //最后把所有结点都append到根节点上后直接return这个xmlDoc就行了??

 

请问我上面这种方法对么?还是有其他更好的方法??还请大侠赐教!

另外,我知道XmlElement属于特殊的XmlNode,那这里创建xml的时候,XmlElement,XmlNode 用哪个都行么?

我爱阳光的主页 我爱阳光 | 菜鸟二级 | 园豆:204
提问于:2010-06-02 11:47
< >
分享
最佳答案
0

webservice可以自己序列化的

就需要建立对应的类型就行

不过:

<ActionType>01</ActionType> 
        <status></status>
        <MSG></MSG>
    <
ActionType>02</ActionType>
        <status></status>
        <MSG></MSG>

这种不太好弄,一般会自动生成这样:

<action>
<ActionType>01</ActionType> 
        <status></status>
        <MSG></MSG>
    <action><
ActionType>02</ActionType></action>


        <status></status>
        <MSG></MSG>
 </action>

就是对象序列化成对应的xml


LittlePeng | 老鸟四级 |园豆:3445 | 2010-06-02 12:35
灰常感谢!!action那里你说的对,是我疏忽了~ 嘿嘿
我爱阳光 | 园豆:204 (菜鸟二级) | 2010-06-02 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册