今天遇到了一个xml属性值读取的问题,我先是从代码的思路、语法查找问题,都没有发现错误, 接着我又从客户端和服务器端应答的信息找问题,原来问题出在我取的xml属性值没有出现在这个xml字符串里(此处所说的xml字符串是根据客户端的命令来确定其包含那些属性,即客户端不同的动作命令会向服务器端发送不同的xml字符串),所以会出错。
String clientcommand = "<Move user=\"zsp\" target=\"TARGET_CELL\" map=\"mapId\"/>";
XmlDocument xmldoc = new XmlDocument();//实例化一个XmlDocument对像
xmldoc.LoadXml(clientcommand);//加载为xml文档
XmlNode node = xmldoc.FirstChild;//提取xml文档的第一个节点,其实这里也就那么一个节点,呵呵
XmlAttribute user = node.Attributes["user"];
String name = user.Value.ToString();//把user属性的值赋给一个String
XmlAttribute map = node.Attributes["map"];
String clientMap = map.Value.ToString();//把map属性的值赋给一个String
Console.WriteLine("name:{0}, map::{1}", name, clientMap);
XmlDocument xmldoc = new XmlDocument();//实例化一个XmlDocument对像
xmldoc.LoadXml(clientcommand);//加载为xml文档
XmlNode node = xmldoc.FirstChild;//提取xml文档的第一个节点,其实这里也就那么一个节点,呵呵
XmlAttribute user = node.Attributes["user"];
String name = user.Value.ToString();//把user属性的值赋给一个String
XmlAttribute map = node.Attributes["map"];
String clientMap = map.Value.ToString();//把map属性的值赋给一个String
Console.WriteLine("name:{0}, map::{1}", name, clientMap);