Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取XML文件的部分数据_C#_Xml_Xmldocument - Fatal编程技术网

C# 获取XML文件的部分数据

C# 获取XML文件的部分数据,c#,xml,xmldocument,C#,Xml,Xmldocument,我有一个xml,它包含来自tagchimp的信息,但是这个文件包含很多信息。如何仅加载所需的信息。我发现了一些代码: XmlDocument doc = new XmlDocument(); doc.Load(path); XmlElement root = doc.DocumentElement; XmlNodeList nodes = root.SelectNodes("movie"); foreach (XmlNode node in nodes) { string date =

我有一个xml,它包含来自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;
        }

但这并不是最实用的方法。

因为您使用的是.NET,所以您可能会花一些时间学习,因为它听起来好像可以满足您的需求

有很多在线文档,特别是如何进行各种基本查询以从特定节点获取信息:

你也可以用它得到同样的结果

或者您可以手动遍历节点,尽管您必须正确地处理子节点(正如您已经发现的那样)