0

使用 C#,我需要从某个 URL 获取一些数据,然后生成一个非常基本的 .html 文件,该文件显示可用的大学课程列表。来自 URL 的响应是 XML,看起来像这样

<ArrayOfCourse xmlns="http://schemas.datacontract.org/2004/07/Demo.Samples">
   <Course>
      <codeField>String content</codeField>
      <semesterField>String content</semesterField>
      <titleField>String content</titleField>
   </Course>
   ...
</ArrayOfCourse>

有人指示我应该使用 XDocument 和 XmlTextWriter 之类的类来生成所需的 html。

<?xml version="1.0" encoding="utf-8"?>
<!--courses-->
<html>
   <head>
      <title>courses</title>
   </head>
   <body>
      <h1>courses</h1>
      <p>COMPSCI 101: <b>Principles of Programming</b><br />Summer School; Semester 1; Semester 2</p>
      ...
      ...
   </body>

我的问题是,你如何去做这件事?更具体地说,使用什么方法从响应中获取每个标签?例如,谁能给我任何有用的参考资料?我自己看过,但似乎找不到任何过于有用的东西。

4

1 回答 1

0
XDocument xml = XDocument.Load(filename);

var q = from b in xml.Descendants("product")
        select new
        {
            name = (string)b.Element("name"),
            price = (double?)b.Element("price"),                    
            extra = (string)b.Element("extra1"),
            deeplink = (string)b.Element("deepLink")                   
        };

or

XDocument doc = XDocument.Load("test.xml");
XNamespace ns = "http://ns.adobe.com/xfdf/";

foreach (XElement element in doc.Root
                                .Element(ns + "fields")
                                .Elements(ns + "field"))
{
    Console.WriteLine("Name: {0}; Value: {1}",
                      (string) element.Attribute("name"),
                      (string) element.Element(ns + "value"));
}
于 2013-09-05T11:26:39.790 回答