我有xml代码,我想获得行动的价值:
<msg t='sys'><body action='rndK' r='-1'><k>randomKey</k></body></msg>
我试过了:
xmlCode.ChildNodes[0].Attributes["action"]
不输出任何东西。
答案 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
属性,因此,您得不到任何结果。