C#XMLreader和子节点

我有这个xml文件。

  8.582207 3 true false en Transformers Transformers The Transformers movie 1858 tt0418279 http://www.themoviedb.org/movie/1858 28 7.2 PG-13 The Earth is caught in the middle of an intergalactic war /overview> 2007-07-04          2010-04-26 03:26:14   

我正在阅读所有的属性使用

 textReader.ReadToFollowing("original_name"); string title =textReader.ReadElementContentAsString("original_name",textReader.NamespaceURI); 

但是,无论我尝试什么,我都无法读取“图像”的子节点。

你应该读取元素,然后读取第一个后代,然后读到下一个兄弟,直到你不能再这样做了。 下面的代码显示了如何做到这一点。

 public class StackOverflow_6473251 { public static void Test() { string xml = @"   8.582207 3 true false en Transformers Transformers The Transformers movie 1858 tt0418279 http://www.themoviedb.org/movie/1858 28 7.2 PG-13 The Earth is caught in the middle of an intergalactic war /overview> 2007-07-04          2010-04-26 03:26:14  "; XmlReader r = XmlReader.Create(new StringReader(xml)); r.ReadToFollowing("original_name"); string title = r.ReadElementContentAsString("original_name", r.NamespaceURI); r.ReadToFollowing("images"); int imageCount = 0; if (r.ReadToDescendant("image")) { do { Console.WriteLine("Image {0}", ++imageCount); Console.WriteLine(" Type: {0}", r.GetAttribute("type")); Console.WriteLine(" URL: {0}", r.GetAttribute("url")); Console.WriteLine(" Size: {0}", r.GetAttribute("size")); Console.WriteLine(" ID: {0}", r.GetAttribute("id")); } while (r.ReadToNextSibling("image")); } } } 

尝试使用这些对象:

 XmlDocument xml = new XmlDocument(); XmlNodeList nodes = xml.ChildNodes; XmlNode node = nodes[0]; XmlNode childNode = node.ChildNodes[0];