0

有什么方法可以将表格从 Web 服务检索到 wp7 应用程序页面?我只是想要一个易于使用的东西,而不是每次获取数据时都制作一个表格

4

1 回答 1

0

在 MSDN 上查看 System.Xml 命名空间。它包含许多可用的类。您应该使用 XmlReader 或类似的东西将其加载到数组或泛型集合中。希望这会有所帮助,因为有点不清楚的问题。

编辑:

这是我为将示例数据加载到通用集合所做的代码:

样本数据:

<?xml version="1.0" encoding="utf-8" ?>
 <studentPunishmentsTables>
  <studentPunishmentsTable>
    <fromSemester/>
    <fromSemesterDesc/>
    <issueDate>01/04/2012</issueDate>
    <note/>
    <penalty>Course Failure</penalty>
    <semester>311</semester>
    <semesterDesc>First Semester 31/32</semesterDesc>
    <toSemester/>
    <toSemesterDesc/>
  </studentPunishmentsTable>
  <studentPunishmentsTable>
    <fromSemester/>
    <fromSemesterDesc/>
    <issueDate>01/04/2012</issueDate>
    <note/>
    <penalty>Semester Failure</penalty>
    <semester>311</semester>
    <semesterDesc>First Semester 31/32</semesterDesc>
    <toSemester/>
    <toSemesterDesc/>
  </studentPunishmentsTable>
</studentPunishmentsTables>

代码:

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;

namespace XMLStudent
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("st.xml");
            List<StudentPunishment> sp = new List<StudentPunishment>();
            foreach (XmlNode nod in doc.SelectNodes(@"studentPunishmentsTables/studentPunishmentsTable"))
            {
                StudentPunishment s = new StudentPunishment();
                s.FromSemester = nod.ChildNodes[0].InnerText;
                s.FromSemesterDesc = nod.ChildNodes[1].InnerText;
                s.IssueDate = nod.ChildNodes[2].InnerText;
                s.Note = nod.ChildNodes[3].InnerText;
                s.Penalty = nod.ChildNodes[4].InnerText;
                s.Semester = nod.ChildNodes[5].InnerText;
                s.SemesterDesc = nod.ChildNodes[6].InnerText;
                s.ToSemester = nod.ChildNodes[7].InnerText;
                s.ToSemesterDesc = nod.ChildNodes[8].InnerText;
                sp.Add(s);
            }
            Console.WriteLine(sp[0].IssueDate);
            Console.Read();
        }
    }
    class StudentPunishment
    {
        public string FromSemester { get; set; }
        public string FromSemesterDesc { get; set; }
        public string IssueDate { get; set; }
        public string Note { get; set; }
        public string Penalty { get; set; }
        public string Semester { get; set; }
        public string SemesterDesc { get; set; }
        public string ToSemester { get; set; }
        public string ToSemesterDesc { get; set; }
    }
}

所以。此代码使用示例数据加载 XMLDocument,并将每个 studentPunishmentsTable 的数据选择到 StudentPunishment 类的新对象中。有用于保存该数据的属性。完成所有操作并将学生惩罚的对象添加到通用集合(“列表”)中后,代码将尝试显示集合中第一个对象的日期。你可以测试自己,它对我有用。

于 2012-05-06T08:44:01.663 回答