私はasp.net VBを使用しており、一連のデータを含むXMLファイルを持っています。データリストのようなもので使用したいと思います。通常はデータベースを使用する場所で、XMLファイルを使用して情報を生成したいと考えています.
誰もこれを行う方法を知っていますか?変換ファイルについて読んだことがありますが、確かにコントロール内の情報をフォーマットしますか?
ファイルには複数のレコードがあるため、場合によっては、データソースを介して情報に対してクエリを実行する必要があります。
XML のシリアライゼーションとデシリアライゼーションについて調べてみたいと思います。逆シリアル化を使用すると、XML をList(T)
独自のクラス オブジェクトのリストを含むオブジェクトに読み込み、それをアプリケーションのデータ ソースとして使用できます。
役立つリンクを次に示します。
http://msdn.microsoft.com/en-us/library/ms731073.aspx
お役に立てれば。
まず、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;
}
Dim ds As New DataSet()
ds.ReadXml(MapPath("data.xml"))