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];