我正在使用 asp.net VB,我有一个包含一组数据的 XML 文件,我想在数据列表之类的东西中使用它,通常你会使用数据库我想使用 XML 文件来生成信息.
有谁知道如何做到这一点,我已经阅读过有关转换文件的信息,但我肯定会在控件中格式化信息吗?
该文件有多个记录,因此在某些情况下,我需要通过数据源对信息执行查询。
我可能会研究 XML 序列化和反序列化。使用反序列化,您可以将 XML 读入List(T)
包含您自己的类对象列表的对象,并将其用作应用程序的数据源。
这是一个您可能会觉得有用的链接:
http://msdn.microsoft.com/en-us/library/ms731073.aspx
希望这可以帮助。
Dim ds As New DataSet()
ds.ReadXml(MapPath("data.xml"))
首先,您必须解析 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;
}