今天遇到了一个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);