读书人

解析XML有关问题

发布时间: 2012-04-10 21:03:56 作者: rapoo

解析XML问题。
<?xml version="1.0" encoding="gb2312" ?>
<Result>
<Main>
<Flag>True</Flag>
<Code>000</Code>
<Message>操作成功</Message>
</Main>
</Result>

我想解析这样的XML 怎么样解析呢 分别得到Flag Code 和Message
谁能帮我写一下 谢谢啦。

[解决办法]
string str=@<?xml version=\"1.0\" encoding=\"gb2312\"?>
<Result>
<Main>
<Flag>True</Flag>
<Code>000</Code>
<Message>操作成功</Message>
</Main>
</Result>
";
XmlDocument xml = new XmlDocument();
xml.LoadXml(str);
XmlNodeList xnl = xml.SelectNodes("../Result/Main/Flights");
foreach (XmlNode item in xnl)
{
XmlNode Number = item.SelectSingleNode("Flag");
string Flag=Number.InnerText;
...
}

[解决办法]

C# code
 /// <summary>        /// 获取指定节点的值        /// </summary>        /// <param name="strFileName">文件路径</param>        /// <param name="nodeName">节点名称</param>        /// <param name="value">设置后的值</param>        /// <param name="nodeDir">指定节点所在的节点目录</param>        /// <returns></returns>        public static string GetNodeValue(string strFileName, string nodeName, string nodeDir)        {            string value = null;            try            {                XmlDocument xmlDoc = new XmlDocument();                xmlDoc.Load(strFileName);                XmlNodeList nodeList = xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点                 foreach (XmlNode xn in nodeList)    //遍历所有子节点                 {                    XmlElement xe = (XmlElement)xn;  //将子节点类型转换为XmlElement类型                     if (xe.Name == nodeName)                    {                        value = xe.InnerText.Trim();                        break;                    }                }            }            catch (Exception exp)            {                throw exp;            }            return value;        }[color=#FF0000]GetNodeValue(filePath, "Main", "Result/Flag");[/color]
[解决办法]
string str=@<?xml version=\"1.0\" encoding=\"gb2312\"?>
<Result>
<Main>
<Flag>True</Flag>
<Code>000</Code>
<Message>操作成功</Message>
</Main>
</Result>
";
XmlDocument xml = new XmlDocument();
xml.LoadXml(str);
XmlNodeList xnl = xml.SelectNodes("../Result/Main");
foreach (XmlNode item in xnl)
{
string Flag = item.SelectSingleNode("Flag").InnerText;
string Code= item.SelectSingleNode("Code").InnerText;
string Message = item.SelectSingleNode("Message").InnerText;
}

数据量很多就要用集合保存Flag Code和Message

读书人网 >C#

热点推荐