我们的一个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 用哪个都行么?
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