0

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

有谁知道如何做到这一点,我已经阅读过有关转换文件的信息,但我肯定会在控件中格式化信息吗?

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

4

3 回答 3

1

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

这是一个您可能会觉得有用的链接:

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

希望这可以帮助。

于 2012-12-11T10:25:33.063 回答
0
Dim ds As New DataSet()
ds.ReadXml(MapPath("data.xml"))
于 2012-12-11T10:34:34.943 回答
0

首先,您必须解析 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;
}
于 2017-07-18T20:53:52.847 回答