【问题标题】:How can i extract XML and use it as a datasource?如何提取 XML 并将其用作数据源?
【发布时间】:2012-12-11 10:10:09
【问题描述】:

我正在使用 asp.net VB,我有一个包含一组数据的 XML 文件,我想在数据列表之类的东西中使用它,通常你会使用数据库我想使用 XML 文件来生成信息。

有人知道怎么做吗,我已经阅读过有关转换文件的信息,但我肯定会格式化控件中的信息吗?

该文件有多个记录,因此在某些情况下我需要通过数据源对信息执行查询。

【问题讨论】:

    标签: asp.net xml vb.net


    【解决方案1】:

    我可能会研究 XML 序列化和反序列化。使用反序列化,您可以将 XML 读入包含您自己的类对象列表的 List(T) 对象,并将其用作应用程序的数据源。

    这是一个您可能会发现有用的链接:

    http://msdn.microsoft.com/en-us/library/ms731073.aspx

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:
      Dim ds As New DataSet()
      ds.ReadXml(MapPath("data.xml"))
      

      【讨论】:

      • 这可以用于实时提要吗?
      【解决方案3】:

      首先您必须解析 XML 并将其存储到自定义 C# 对象中,或者您可以直接将 XML 传递给您的存储过程并在那里进行编码以将其保存到 DB 中。

      将 xml 传递给存储过程并在那里操作它有点困难,所以我建议在 C# 中解析它,然后获取一个自定义对象。一旦你得到它,你就可以为所欲为。

      以下是解析 XML 文件并从中生成自定义 C# 对象的示例代码。

      public CatSubCatList GenerateCategoryListFromProductFeedXML()
      {
          string path = System.Web.HttpContext.Current.Server.MapPath(_xmlFilePath);
      
          XDocument xDoc = XDocument.Load(path);
      
          XElement xElement = XElement.Parse(xDoc.ToString());
      
      
          List<Category> lstCategory = xElement.Elements("Product").Select(d => new Category
          {
              Code = Convert.ToString(d.Element("CategoryCode").Value),
              CategoryPath = d.Element("CategoryPath").Value,
              Name = GetCateOrSubCategory(d.Element("CategoryPath").Value, 0), // Category
              SubCategoryName = GetCateOrSubCategory(d.Element("CategoryPath").Value, 1) // Sub Category
          }).GroupBy(x => new { x.Code, x.SubCategoryName }).Select(x => x.First()).ToList();
      
          CatSubCatList catSubCatList = GetFinalCategoryListFromXML(lstCategory);
      
          return catSubCatList;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-31
        • 1970-01-01
        • 2011-03-25
        • 2021-12-06
        • 2014-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多