2012-12-11 2 views
0

VB에서 asp.net을 사용하고 있으며 데이터 세트가 포함 된 XML 파일을 가지고 있습니다. 데이터리스트와 같은 곳에서 사용하고 싶습니다. 일반적으로 XML 파일을 사용하여 데이터베이스를 사용하고 싶습니다. 정보.XML을 추출하여 데이터 소스로 사용할 수 있습니까?

누구든지이 작업을 수행하는 방법을 알고 있습니까, 나는 변환 파일에 대해 읽었지만 분명히 컨트롤의 정보를 포맷 할 것입니까?

파일에 여러 레코드가 있으므로 어떤 경우에는 데이터 소스를 통해 정보에 대한 쿼리를 수행해야합니다.

답변

1

XML 직렬화 및 비 직렬화를 살펴볼 것입니다. 비 직렬화를 사용하면 XML을 자신의 클래스 객체 목록이 포함 된 List(T) 객체로 읽고이를 응용 프로그램의 데이터 소스로 사용할 수 있습니다. 당신이 유용하게 사용할 수

을 Heres 링크 :이 도움이

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

희망.

0
Dim ds As New DataSet() 
ds.ReadXml(MapPath("data.xml")) 
+0

라이브 피드에서 사용할 수 있습니까? – connersz

0

먼저 당신은 XML을 구문 분석하고 사용자 정의 C#을 객체로 그를 저장해야하거나 직접 저장 프로 시저에 XML을 전달하고 DB로 저장을위한 거기 codding을 할 수 있습니다.

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; 
} 
관련 문제