<?xml version="1.0" encoding="UTF-8"?>
    <entry xmlns="http://www.w3.org/2005/Atom"
        xmlns:gd="http://schemas.google.com/g/2005"
        xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/"
        xmlns:db="http://www.douban.com/xmlns/">
        <category scheme="http://www.douban.com/2007#kind"
            term="http://www.douban.com/2007#book" />
        <db:tag count="15" name="片山恭一" />
        <db:tag count="6" name="小说" />
        <db:tag count="5" name="日本小说" />
        <db:tag count="2" name="日本文学" />
        <db:tag count="2" name="日本" />
        <title>倘若我在彼岸-日本畅销爱情小说</title>
        <author>
            <name>片山恭一</name>
        </author>
        <summary>
            本书由三个看似独立实则相通的凄美的爱情故事组成。主人公是老师,都喜欢某种运动,他们都曾亲身经历过或目睹过接近死神的一瞬间并从中感悟或懂得了生命中的某些东西。
            这是作者在《在世界中心呼唤爱》后的首部爱情小说集。片山恭一,学生时代通读了包括夏目漱石和大江健三郎在内的日本近现代文学全集,同时读了从笛卡尔、莱布尼茨到结构主义的欧洲近现代哲学,也读了马克思。自二十二三岁开始创作小说,《气息》、《世界在你不知道的地方运转》、《别相信约翰•列侬》等均为他的代表作。
        </summary>
        <link rel="self" href="http://api.douban.com/book/subject/2023013" />
        <link rel="collection" href="http://api.douban.com/collection/1234567" /><!-- API认证授权后才包含 -->
        <link rel="alternate" href="http://book.douban.com/subject/2023013/" />
        <link rel="image" href="http://t.douban.com/spic/s2328836.jpg" />
        <db:attribute name="isbn10">7543639130</db:attribute>
        <db:attribute name="isbn13">9787543639133</db:attribute>
        <db:attribute name="pages">193</db:attribute>
        <db:attribute name="tranlator">张兴</db:attribute>
        <db:attribute name="price">14</db:attribute>
        <db:attribute name="author">片山恭一</db:attribute>
        <db:attribute name="publisher">青岛出版社</db:attribute>
        <db:attribute name="binding">平装</db:attribute>
        <db:attribute name="author-intro">
            片山恭一,1959年生于日本爱媛县,九州大学农学系农业经济学专业毕业。学生时代通读了包括夏目漱石和大江健三郎在内的日本近现代文学全集,同时读了从笛卡尔、莱布尼茨到结构主义的欧洲近现代哲学。也读了马克思。学士论文写的是马克思,硕士论文写的是恩格斯。二十二三岁开始创作小说。代表作有《在世界中心呼唤爱》、《世界在你不知道的地方运转》、《满月之夜白鲸现》、《空镜头》以及新作《倘若我在彼岸》《雨天的海豚们》、《最后盛开的花》等。
        </db:attribute>
        <id>http://api.douban.com/book/subject/2023013</id>
        <gd:rating min="1" numRaters="12" average="4.00" max="5" />
    </entry>

解决方案 »

  1.   

    定义了一个XML读取此XML文件里的红色部分啊?   
           
    <?xml version="1.0" encoding="UTF-8"?>
      <entry xmlns="http://www.w3.org/2005/Atom"
      xmlns:gd="http://schemas.google.com/g/2005"
      xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/"
      xmlns:db="http://www.douban.com/xmlns/">
      <category scheme="http://www.douban.com/2007#kind"
      term="http://www.douban.com/2007#book" />
      <db:tag count="15" name="片山恭一" />
      <db:tag count="6" name="小说" />
      <db:tag count="5" name="日本小说" />
      <db:tag count="2" name="日本文学" />
      <db:tag count="2" name="日本" />
      <title>倘若我在彼岸-日本畅销爱情小说</title>
      <author>
      <name>片山恭一</name>
      </author>
      
     <summary>
      本书由三个看似独立实则相通的凄美的爱情故事组成。主人公是老师,都喜欢某种运动,他们都曾亲身经历过或目睹过接近死神的一瞬间并从中感悟或懂得了生命中的某些东西。
      这是作者在《在世界中心呼唤爱》后的首部爱情小说集。片山恭一,学生时代通读了包括夏目漱石和大江健三郎在内的日本近现代文学全集,同时读了从笛卡尔、莱布尼茨到结构主义的欧洲近现代哲学,也读了马克思。自二十二三岁开始创作小说,《气息》、《世界在你不知道的地方运转》、《别相信约翰•列侬》等均为他的代表作。
      </summary>

      <link rel="self" href="http://api.douban.com/book/subject/2023013" />
      <link rel="collection" href="http://api.douban.com/collection/1234567" /><!-- API认证授权后才包含 -->
      <link rel="alternate" href="http://book.douban.com/subject/2023013/" />
      <link rel="image" href="http://t.douban.com/spic/s2328836.jpg" />
      <db:attribute name="isbn10">7543639130</db:attribute>
      <db:attribute name="isbn13">9787543639133</db:attribute>
      <db:attribute name="pages">193</db:attribute>
      <db:attribute name="tranlator">张兴</db:attribute>

      <db:attribute name="price">14</db:attribute>
      <db:attribute name="author">片山恭一</db:attribute>
      <db:attribute name="publisher">青岛出版社</db:attribute>
      <db:attribute name="binding">平装</db:attribute>
      <db:attribute name="author-intro">
      片山恭一,1959年生于日本爱媛县,九州大学农学系农业经济学专业毕业。学生时代通读了包括夏目漱石和大江健三郎在内的日本近现代文学全集,同时读了从笛卡尔、莱布尼茨到结构主义的欧洲近现代哲学。也读了马克思。学士论文写的是马克思,硕士论文写的是恩格斯。二十二三岁开始创作小说。代表作有《在世界中心呼唤爱》、《世界在你不知道的地方运转》、《满月之夜白鲸现》、《空镜头》以及新作《倘若我在彼岸》《雨天的海豚们》、《最后盛开的花》等。
      </db:attribute>
      <id>http://api.douban.com/book/subject/2023013</id>
      <gd:rating min="1" numRaters="12" average="4.00" max="5" />
      </entry>
      

  2.   

    你可以通过XPath去读,可以看看相关的文章
    如果层次很复杂又不想看,下个软件 XMLEditor,他可以帮你看出每个节点的Xpath
      

  3.   

    刚去修理了一下网络, 我不是专业做开发的,对XML不熟悉,我也定义了一个
                XPathNavigator navigator = GetBookAtomEntry(ISBN);
                if (navigator == null) return null;
                XmlNamespaceManager ns = new XmlNamespaceManager(navigator.NameTable);
                ns.AddNamespace("openSearch", "http://a9.com/-/spec/opensearchrss/1.0/");
                ns.AddNamespace("atom", "http://www.w3.org/2005/Atom");
                ns.AddNamespace("db", "http://www.douban.com/xmlns");
                XPathNodeIterator nodes;            DbBook BookInfo = new DbBook();
                BookInfo.ISBN = ISBN;            // Book pages
                nodes = navigator.Select("descendant::db:attribute name='pages'", ns);  这部分,我如何读取页数,我现在的这个写法提示有错误,正确的应该如何写?
      

  4.   

    用xmldocument呗,遍历节点就ok了
    xmldocument xmldoc=new xmldocument;
      

  5.   


    nodes = navigator.Select("db:attribute[@name='pages']"); 
      

  6.   

    xml 里面有个红色部分
       <link rel="image" href="http://t.douban.com/spic/s2328836.jpg" />
       我如何能够将其指定的图片保存在本地?
      

  7.   


                WebClient wc = new WebClient();
                wc.DownloadFile("http://www.baidu.com/img/baidu_logo.gif", @"D:\temp.gif");
      

  8.   

    如何提取xml <link rel="image" href="http://t.douban.com/spic/s2328836.jpg" />里的
    http://t.douban.com/spic/s2328836.jpg  这个值呢?
      

  9.   


                XmlDocument doc = new XmlDocument();
                doc.Load("test.xml");
                XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
                xnm.AddNamespace("a","http://www.w3.org/2005/Atom");
                XmlNodeList links = doc.SelectNodes("a:entry/a:link", xnm);            WebClient wc = new WebClient();
                foreach (XmlNode node in links)
                {
                    if (node.Attributes["href"].Value.EndsWith(".jpg"))
                    {
                        wc.DownloadFile(node.Attributes["href"].Value, "D:\test.jpg");
                    }
                }
      

  10.   

                XmlDocument doc = new XmlDocument();
                doc.Load("test.xml");
                XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
                xnm.AddNamespace("a","http://www.w3.org/2005/Atom");
                XmlNodeList links = doc.SelectNodes("a:entry/a:link", xnm);            WebClient wc = new WebClient();
                foreach (XmlNode node in links)
                {
                    if (node.Attributes["href"].Value.EndsWith(".jpg"))
                    {
                        wc.DownloadFile(node.Attributes["href"].Value, @"D:\test.jpg");
                    }
                }
      

  11.   

      <?xml version="1.0" encoding="UTF-8" ?> 
    - <entry xmlns="http://www.w3.org/2005/Atom" xmlns:db="http://www.douban.com/xmlns/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/">
      <id>http://api.douban.com/book/subject/2023013</id> 
      <title>倘若我在彼岸-日本畅销爱情小说</title> 
      <category scheme="http://www.douban.com/2007#kind" term="http://www.douban.com/2007#book" /> 
    + <author>
      <name>片山恭一</name> 
      </author>
      <link href="http://api.douban.com/book/subject/2023013" rel="self" /> 
      <link href="http://book.douban.com/subject/2023013/" rel="alternate" /> 
      <link href="http://t.douban.com/spic/s2328836.jpg" rel="image" /> 
      <summary>本书由三个看似独立实则相通的凄美的爱情故事组成。主人公是老师,都喜欢某种运动,他们都曾亲身经历过或目睹过接近死神的一瞬间并从中感悟或懂得了生命中的某些东西。 这是作者在《在世界中心呼唤爱》后的首部爱情小说集。片山恭一,学生时代通读了包括夏目漱石和大江健三郎在内的日本近现代文学全集,同时读了从笛卡尔、莱布尼茨到结构主义的欧洲近现代哲学,也读了马克思。自二十二三岁开始创作小说,《气息》、《世界在你不知道的地方运转》、《别相信约翰·列侬》等均为他的代表作。</summary> 
      <db:attribute name="isbn10">7543639130</db:attribute> 
      <db:attribute name="isbn13">9787543639133</db:attribute> 
      <db:attribute name="title">倘若我在彼岸-日本畅销爱情小说</db:attribute> 
      <db:attribute name="pages">193</db:attribute> 
      <db:attribute name="translator">张兴</db:attribute> 
      <db:attribute name="price">14.0</db:attribute> 
      <db:attribute name="author">片山恭一</db:attribute> 
      <db:attribute name="publisher">青岛出版社</db:attribute> 
      <db:attribute name="binding">平装</db:attribute> 
      <db:attribute name="pubdate">2007-01-01</db:attribute> 
      <db:attribute name="author-intro">片山恭一,1959年生于日本爱媛县,九州大学农学系农业经济学专业毕业。学生时代通读了包括夏目漱石和大江健三郎在内的日本近现代文学全集,同时读了从笛卡尔、莱布尼茨到结构主义的欧洲近现代哲学。也读了马克思。学士论文写的是马克思,硕士论文写的是恩格斯。二十二三岁开始创作小说。代表作有《在世界中心呼唤爱》、《世界在你不知道的地方运转》、《满月之夜白鲸现》、《空镜头》以及新作《倘若我在彼岸》《雨天的海豚们》、《最后盛开的花》等。</db:attribute> 
      <db:tag count="64" name="片山恭一" /> 
      <db:tag count="29" name="日本文学" /> 
      <db:tag count="20" name="小说" /> 
      <db:tag count="18" name="日本" /> 
      <db:tag count="12" name="日本小说" /> 
      <db:tag count="11" name="倘若我在彼岸" /> 
      <db:tag count="10" name="爱情" /> 
      <db:tag count="10" name="纯爱" /> 
      <gd:rating average="7.2" max="10" min="0" numRaters="124" /> 
      </entry>
    上面是一个xml文件, 下面是我的提取XML的信息方法,现在无法提取XML里的红色部分,特来请教,急啊!
                XmlDocument doc = new XmlDocument();
                doc.Load("http://api.douban.com/book/subject/isbn/" + strISBN);
                xPathNavigator na = doc.CreateNavigator();
     
                XmlNamespaceManager ns = new XmlNamespaceManager(na.NameTable);
                ns.AddNamespace("atom", "http://www.w3.org/2005/Atom");
     
                XPathNodeIterator nodes;
                XmlNode node;
                XmlNodeList nodeList;                       node = doc.DocumentElement["title"];
                Console.WriteLine("Feed Information");
                Console.WriteLine("Title:\t\t{0}",node.InnerText);   //OK
                
                node = doc.DocumentElement["summary"];
                Console.WriteLine("Summary:\t\t {0}", node.InnerText); //OK            node = doc.DocumentElement["author"];                   //OK
                Console.WriteLine("Author:\t\t{0}", node.InnerText);
                //提取<db:attribute name="pages">193</db:attribute> ,和 <db:tag count="20" name="小说" /> 有错误,不知如何提取,下面的代码应该如何写啊????
           
                nodeList = doc.SelectNodes("//db:attribute");
                Console.WriteLine("Pages:\t\t{0}", node.InnerText);
    ?????????????????????????????????.....................
      

  12.   

    读取xml的
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Xml.Schema;
    using System.Collections.Generic;
    using System.Xml;
    namespace XmlAA
    {
        public class ReadXml
        {
            public static void Main()
            {
                XmlReaderSettings setting = new XmlReaderSettings();
                //Insert Template.
                setting.Schemas.Add(null,@"..\..\po.xsd");
                //Validate.
                setting.ValidationType = ValidationType.Schema;
                //Does not handle errors, but displays an error message.
                setting.ValidationEventHandler += new ValidationEventHandler(EvenHandler);
                
                XmlReader reader = XmlReader.Create(@"..\..\Vol.xml",setting);
                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Text)
                    {
                        Console.WriteLine(reader.Value);
                    }
                }
                Console.ReadLine();
            }        public static void EvenHandler(object sender, ValidationEventArgs e)
            {
                //Error message
                Console.WriteLine("The method or operation is not implemented.");
            }
        }
    }
      

  13.   

      XmlDocument doc = new XmlDocument();
      doc.Load("http://api.douban.com/book/subject/isbn/" + strISBN);
      xPathNavigator na = doc.CreateNavigator();
      
      XmlNamespaceManager ns = new XmlNamespaceManager(na.NameTable);
      ns.AddNamespace("atom", "http://www.w3.org/2005/Atom");
      
      XPathNodeIterator nodes;
      XmlNode node;
      XmlNodeList nodeList;     node = doc.DocumentElement["title"];
      Console.WriteLine("Feed Information");
      Console.WriteLine("Title:\t\t{0}",node.InnerText); //OK
        
      node = doc.DocumentElement["summary"];
      Console.WriteLine("Summary:\t\t {0}", node.InnerText); //OK  node = doc.DocumentElement["author"]; //OK
      Console.WriteLine("Author:\t\t{0}", node.InnerText);//提取<db:attribute name="pages">193</db:attribute> ,和 <db:tag count="20" name="小说" /> 有错误,不知如何提取,下面的代码应该如何写啊????
      

  14.   

     
    Ryan20082009感谢你的回复,能按我的思路写一下吗?
      

  15.   

    Ryan20082009 我看你好眼熟呀,我今天刚安家在csdn 好像看你回xml帖几次啦 缘分呐 貌似你也安家不久? 这个xml就是不太容易看完整 楼主能不能把不重要的东西删掉一部分 我看看它结构
      

  16.   

    <?xml version="1.0" encoding="UTF-8" ?>  
    - <entry xmlns="http://www.w3.org/2005/Atom" xmlns:db="http://www.douban.com/xmlns/" xmlns:gd="http://schemas.google.com/g/2005" ">  <id>http://api.douban.com/book/subject/2023013</id>  
      <summary>本书由三个等均为他的代表作。</summary>  
      <db:attribute name="pages">193</db:attribute>   <db:attribute name="price">14.0</db:attribute>  
      <db:attribute name="pubdate">2007-01-01</db:attribute>    <db:tag count="64" name="片山恭一" />  
      <db:tag count="29" name="日本文学" />  
    </entry> 上面就是整个结构,现在我读取[id,summary]元素可以,就是不知道如何读取红色部分,
      XmlDocument doc = new XmlDocument();
      doc.Load("http://api.douban.com/book/subject/isbn/" + strISBN);
      xPathNavigator na = doc.CreateNavigator();
      
      XmlNamespaceManager ns = new XmlNamespaceManager(na.NameTable);
      ns.AddNamespace("atom", "http://www.w3.org/2005/Atom");
      
      XPathNodeIterator nodes;
      XmlNode node;
      XmlNodeList nodeList;     node = doc.DocumentElement["summary"];
      Console.WriteLine("Summary:\t\t {0}", node.InnerText); //OK
      
      //读取这部分的代码如何写啊?
       <db:attribute name="price">14.0</db:attribute> 和 <db:tag count="29" name="日本文学" /> 这部分是元素啊,还是属性啊,如何读取啊????????????
      

  17.   

    ???????????????????????????????????????????????????????????
    ???????????????????????????????????????????????????????????
    难道CSDN 就没有人能解决吗?
      

  18.   

    keyouea 是女的就帮忙,是男的就漂过,你到底会不会啊?别自己还没弄明白!
      

  19.   


    哈哈哈,不就一xml么,你要先弄明白这个xml的结构,然后就最简单的xml操作还不会?
    找找XmlNodes能提供什么方法给你用就行拉.
      

  20.   

    这就是一个很普通的xml啊 没有任何特殊之处吧 string xmlpath = ConfigurationManager.AppSettings["RolesConfig"];
                XmlDocument doc = new XmlDocument();
                doc.Load(xmlpath);
                XmlNodeList nodes = doc.SelectSingleNode(parentNodePath).ChildNodes;
                foreach (XmlElement node in nodes)
                {
                    if (node.Name == childNodeName)
                    {
                        if (node.Attributes[matchElementName].Value == id)
                        {
                            outPut = node.Attributes[elementName].Value;
                        }
                    }
                }