将XML加载到XmlDocument
中,然后使用xpath查询来提取所需的数据。
例如
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlstring);
XmlNode errorNode = doc.DocumentElement.SelectSingleNode("/DataChunk/ResponseChunk/Errors/error");
string errorCode = errorNode.Attributes["code"].Value;
string errorMessage = errorNode.InnerText;
如果需要具有可以使用SelectNodes
获取包含在那个XPath的所有元素的XmlNodeList
多个错误元素XML潜力。例如:
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlstring);
XmlNodeList errorNodes = doc.DocumentElement.SelectNodes("/DataChunk/ResponseChunk/Errors/error");
foreach(XmlNode errorNode in errorNodes)
{
string errorCode = errorNode.Attributes["code"].Value;
string errorMessage = errorNode.InnerText;
}
选项2
如果您对XML格式的XML模式,你可以绑定的模式,以一个类(使用.NET xsd.exe工具)。一旦你有了,你可以将XML反序列化为一个对象,并使用该对象而不是原始XML。这本身就是一个完整的主题,所以如果你确实有这个模式,这是值得研究的。
我假设这样的:“<错误代码= \ ”0 \“> '是不是你的XML实际上样子?那些斜杠会打破它,这只是C#逃避你剪切和粘贴? – 2011-01-20 21:47:16
@james是>。<我把xml加载到一个字符串中并且复制了heh – sringer 2011-01-20 22:01:06