IDE:VS 2010,winforms,
我有一个xml字符串
string xmlstr = "<string xmlns="http://example.com/proj1">True|Success</string>";
我正在尝试选择<string>
节点以获取其InnerText
以进行后续解析:
True|Success
使用以下代码:
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(xmlstr);
string message = xdoc.SelectSingleNode("string").InnerText; //Here getting null Execption error.
你能告诉我如何从xml中选择这条消息吗?
答案 0 :(得分:2)
您需要添加XmlNamespaceManager
才能选择节点:
XmlNode.SelectSingleNode Method (String, XmlNamespaceManager)
string xmlstr = "<string xmlns=\"http://example.com/proj1\">True|Success</string>";
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(xmlstr);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xdoc.NameTable);
nsmgr.AddNamespace("ab", "http://example.com/proj1");
XmlNode stringNode = xdoc.SelectSingleNode("//ab:string", nsmgr);
string message = stringNode.InnerText;
此外,您的xml字符串在示例中无效,因为它包含未引用的双引号。