Xdocument.Load失败了

时间:2012-03-08 15:29:36

标签: c# asp.net xml xmltextwriter xmltextreader

我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load我无法加载Xdocument.Load

   public void AuthorNames(string Uri)
    {

        CredentialCache credentialCache = new CredentialCache();
        credentialCache.Add(
        new Uri("https://www.RESTWEBSERVICESSITE.com"),
        "Basic",
        new NetworkCredential("USERID", "PWD"));


        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Uri);
        request.AllowAutoRedirect = true;
        request.PreAuthenticate = true;
        request.Credentials = credentialCache;
        request.AutomaticDecompression = DecompressionMethods.GZip;

        try
        {
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {

                XmlReader responseReader = XmlReader.Create(response.GetResponseStream());

                //XmlDocument doc = new XmlDocument();

                **XDocument docs = XDocument.Load();**

               // responseReader.Read();
                //XDocument docs = XDocument.Load(response.GetResponseStream());


          List<string> books = docs.Descendants("INTEL")
          // Not really necessary, but makes it simpler
        .Select(x => new {
           Title = (string) x.Element("TITLE"),
           Author = x.Element("INTEL_AUTH")
           })
      .Select(x => new {
           Title = x.Title,
           FirstName = (string) x.Author.Element("FNAME"),
           MiddleInitial = (string) x.Author.Element("MNAME"),
           LastName = (string) x.Author.Element("LNAME"),
        })
   .Select(x => string.Format("{0}: {1} {2} {3}",
                           x.Title,
                           x.FirstName, x.MiddleInitial, x.LastName))
   .ToList();

   for (int i = 0; i < books.Count; i++)
   {
    for (int j = 0; j < books.Count; j++)
    {
    Response.Write("--" + books[i] + "---" + books[j]);
    }
   }

}

        }
        catch (Exception ex)
        {
            Response.Write("Remote server Returned an Error.");
        }
    }

我无法使用XML Feed加载xdocument.Load。

1 个答案:

答案 0 :(得分:2)

目前还不清楚完全你想要什么,但我怀疑它是这样的:

XDocument doc = ...; // However you want to load this.
// Note: XML is case-sensitive, which is one reason your code failed before
List<string> books = doc
    .Descendants("Intel")
    // Not really necessary, but makes it simpler
    .Select(x => new {
               Title = (string) x.Element("Title"),
               Author = x.Element("Intel_auth")
            })
    .Select(x => new {
               Title = x.Title,
               FirstName = (string) x.Author.Element("fname"),
               MiddleInitial = (string) x.Author.Element("mname"),
               LastName = (string) x.Author.Element("lname"),
            });
    .Select(x => string.Format("{0}: {1} {2} {3}",
                               x.Title,
                               x.FirstName, x.MiddleInitial, x.LastName))
    .ToList();

这将给你一个List<string>,其中每个元素都是“Test 1:John M. pp”。