为什么我的xmlCode什么也没有返回

时间:2015-04-24 19:20:07

标签: c# xml

我有xml代码,我想获得行动的价值:

<msg t='sys'><body action='rndK' r='-1'><k>randomKey</k></body></msg>

我试过了:

xmlCode.ChildNodes[0].Attributes["action"]

不输出任何东西。

1 个答案:

答案 0 :(得分:0)

做一些功课,我测试你的代码并找到你的问题:

var a = XElement.Parse(@"<msg t='sys'><body action='rndK' r='-1'><k>randomKey</k></body></msg>");
var xmlNode = a.ToXmlDocument();

以上就是这样我重新创建你的xmlNode。可以找到ToXmlDocument here

然后我们有以下......

var msg = xmlNode.ChildNodes[0]; 

msg是你的第一个子节点,如果你像我一样把它分开,那么你会在调试器中看到它。其余的自然而然......

var body = msg.ChildNodes[0];
var action = body.Attributes["action"];
string actionValue = action.Value;

您的代码:xmlCode.ChildNodes[0].Attributes["action"]没有返回任何内容的原因是msg节点不包含action属性,因此,您得不到任何结果。