如何从XML提要设置新的XML文档

本文关键字:XML 文档 设置 | 更新日期: 2023-09-27 18:14:27

是否有可能从XML提要中设置具有特定字段的新XML文档?

public string xmlResult;
  public void Page_Load(object sender, EventArgs args){
    string url = string.Format("http://search.twitter.com/search.atom?q=test&show-user=true&rpp=10");
  HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
  using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
  {
    StreamReader reader = new StreamReader(response.GetResponseStream());
    xmlResult = reader.ReadToEnd();
    Console.WriteLine("OUTPUT: " + xmlResult);
  }
      XmlDocument doc = new XmlDocument();
      doc.LoadXml(xmlResult);
      Response.ContentType = "text/xml";
      Response.Write(doc.OuterXml);
}

我想创建一个具有特定字段的新XML文档,如下例所示。

<feed>
    <entry>
            <content></content>
            <author></author>
            <created_time></created_time>
    </entry>
</feed>

如何从XML提要设置新的XML文档

我发现LinqToXml更容易使用…

var xDoc = XDocument.Load("http://search.twitter.com/search.atom?q=test&show-user=true&rpp=10");
XNamespace ns = "http://www.w3.org/2005/Atom";
XElement feeds = new XElement("feed", 
                        xDoc.Descendants(ns + "entry")
                            .Select(e=>new XElement("entry",
                                                new XElement("id", e.Element(ns + "id").Value), 
                                                new XElement("author",e.Element(ns + "author").Element(ns + "name").Value),
                                                new XElement("created_time",e.Element(ns + "published").Value)
                                        )
                            )
                );
string xmlstr = feeds.ToString();