我在我的C#程序中使用Xml遇到麻烦。C#解析Xml选择节点
http://pastebin.com/Ufxaght6(沙盒)
我试图获得对XML的任何信息,我成功了使用上的节点递归循环的XML,但我想用的东西更有效。
我想这一点:
XmlDocument document = new XmlDocument();
document.LoadXml(response);
XmlNode node = document.SelectSingleNode("/getnewsalesresult/request/user");
if (node != null)
Logger.WriteLine(node.InnerText);
else
Logger.WriteLine("fail");
这总是给人一种空。 我认为问题来自'getnewsalesresult'(通配符也许?)。
从XML:
<getnewsalesresult xmlns="http://www.sandbox.priceminister.com/res/schema/getnewsales" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
XSI:的schemaLocation = “http://www.sandbox.priceminister.com/res/schema/getnewsales http://www.sandbox.priceminister.com/res/schema/getnewsales/getnewsales.2014-02-11.xsd”>
任何想法?
在此先感谢。
我怀疑这是一个命名空间问题。尝试http://stackoverflow.com/questions/1145659/ignore-namespaces-in-linq-to-xml – AaronLS 2014-08-28 14:59:07
我不想成为勺子饲料,但我不知道如何开始为此:) – 2014-08-28 15:04:48
SelectSingleNode需要xpath,首先从测试第一级开始:'document.SelectSingleNode(“/ getnewsalesresult”);'如果它不返回任何东西try'document.SelectSingleNode(“/ [local-name()='getnewsalesresult']” );''或'document.SelectSingleNode(“/ * [local-name()='getnewsalesresult']”);' – AaronLS 2014-08-28 15:12:48