我有这个xml file,它包含来自tagchimp的信息,但是这个文件包含了很多信息的方法。如何只加载我需要的信息。我找到了一些代码:
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("movie");
foreach (XmlNode node in nodes)
{
string date = node["tagChimpID"].InnerText;
string name = node["locked"].InnerText;
Console.WriteLine("Id:" + date + " Locked:" + name);
} 但是它只加载元素,而不是子元素,例如movieTitle或shortDescription
我找到了一个方法:
public static string Test(string path, XmlElement nodes)
{
string Name = "";
string releaseDate = "";
XmlNodeList xnList = nodes.SelectNodes("/items/movie");
XmlNode eNode;
foreach (XmlNode xn in xnList)
{
eNode = xn.SelectSingleNode("movieTags/info/movieTitle");
if (eNode != null)
{
Name = eNode.InnerText;
}
eNode= xn.SelectSingleNode("movieTags/info/releaseDate");
releaseDate = eNode.InnerText;
}但这并不是最实用的方法。
发布于 2012-12-11 10:27:36
既然您正在使用.NET,那么您可能会花一些时间学习LINQ to XML,因为它听起来可以做您想要做的事情。
有很多在线文档,特别是如何执行各种基本查询以从特定节点获取信息:http://msdn.microsoft.com/en-us/library/bb943906.aspx
您也可以使用XPath获得相同的结果。
或者,您可以手动遍历节点,尽管您必须正确处理子节点(正如您已经发现的那样)。
https://stackoverflow.com/questions/13812436
复制相似问题