我有这个xml文件.
<movies> <movie> <score>8.582207</score> <popularity>3</popularity> <translated>true</translated> <adult>false</adult> <language>en</language> <original_name>Transformers</original_name> <name>Transformers</name> <alternative_name>The Transformers</alternative_name> <type>movie</type> <id>1858</id> <imdb_id>tt0418279</imdb_id> <url>http://www.themoviedb.org/movie/1858<;/url> <Votes>28</Votes> <rating>7.2</rating> <certification>PG-13</certification> <overview>The Earth is caught in the middle of an intergalactic war /overview> <released>2007-07-04</released> <images> <image type="poster" url="http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-original.jpg" size="original" id="4bc91347017a3c57fe007304"/> <image type="poster" url="http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-mid.jpg" size="mid" id="4bc91347017a3c57fe007304"/> <image type="poster" url="http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-cover.jpg" size="cover" id="4bc91347017a3c57fe007304"/> <image type="poster" url="http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-thumb.jpg" size="thumb" id="4bc91347017a3c57fe007304"/> <image type="backdrop" url="http://hwcdn.themoviedb.org/backdrops/2ce/4bc91339017a3c57fe0072ce/transformers-original.jpg" size="original" id="4bc9133s9017a3c57fe0072ce"/> <image type="backdrop" url="http://hwcdn.themoviedb.org/backdrops/2ce/4bc91339017a3c57fe0072ce/transformers-poster.jpg" size="poster" id="4bc91339017a3c57fe0072ce"/> <image type="backdrop" url="http://hwcdn.themoviedb.org/backdrops/2ce/4bc91339017a3c57fe0072ce/transformers-thumb.jpg" size="thumb" id="4bc91339017a3c57fe0072ce"/> </images> <last_modified_at>2010-04-26 03:26:14</last_modified_at> </movie> </movies>
我正在阅读所有的属性使用
textReader.ReadToFollowing("original_name"); string title =textReader.ReadElementContentAsstring("original_name",textReader.NamespaceURI);
然而,无论我尝试,我无法设法读取“图像”的子节点.
解决方法
您应该阅读< images>元素,然后读取到第一个< image>后代,然后读到下一个兄弟姐妹,直到你不能再.下面的代码显示了如何做到这一点.
public class StackOverflow_6473251 { public static void test() { string xml = @" <movies> <movie> <score>8.582207</score> <popularity>3</popularity> <translated>true</translated> <adult>false</adult> <language>en</language> <original_name>Transformers</original_name> <name>Transformers</name> <alternative_name>The Transformers</alternative_name> <type>movie</type> <id>1858</id> <imdb_id>tt0418279</imdb_id> <url>http://www.themoviedb.org/movie/1858</url> <Votes>28</Votes> <rating>7.2</rating> <certification>PG-13</certification> <overview>The Earth is caught in the middle of an intergalactic war /overview> <released>2007-07-04</released> <images> <image type=""poster"" url=""http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-original.jpg"" size=""original"" id=""4bc91347017a3c57fe007304""/> <image type=""poster"" url=""http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-mid.jpg"" size=""mid"" id=""4bc91347017a3c57fe007304""/> <image type=""poster"" url=""http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-cover.jpg"" size=""cover"" id=""4bc91347017a3c57fe007304""/> <image type=""poster"" url=""http://hwcdn.themoviedb.org/posters/304/4bc91347017a3c57fe007304/transformers-thumb.jpg"" size=""thumb"" id=""4bc91347017a3c57fe007304""/> <image type=""backdrop"" url=""http://hwcdn.themoviedb.org/backdrops/2ce/4bc91339017a3c57fe0072ce/transformers-original.jpg"" size=""original"" id=""4bc9133s9017a3c57fe0072ce""/> <image type=""backdrop"" url=""http://hwcdn.themoviedb.org/backdrops/2ce/4bc91339017a3c57fe0072ce/transformers-poster.jpg"" size=""poster"" id=""4bc91339017a3c57fe0072ce""/> <image type=""backdrop"" url=""http://hwcdn.themoviedb.org/backdrops/2ce/4bc91339017a3c57fe0072ce/transformers-thumb.jpg"" size=""thumb"" id=""4bc91339017a3c57fe0072ce""/> </images> <last_modified_at>2010-04-26 03:26:14</last_modified_at> </movie> </movies>"; 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")); } } }
原文地址:https://www.jb51.cc/c/114782.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。