PDA

View Full Version : Đọc dữ liệu từ file XML rồi lưu vào CSDL !



troinau
02-06-2011, 11:22
Chào mọi người !
Thầy giáo đưa bài tập về nhà là đọc file XML rồi lưu vào CSDL
File XML có Môn học, phần, câu hỏi
môn học có nhiều phần
phần có phần con
phần con cuối cùng chứa câu hỏi
Về phần đọc file XML mình dùng dataset để đọc, nhưng ở chỗ phần có nhiều phần con mình vẫn chưa biết cách để duyệt hết tất cả các phần con (Thầy giáo nói có thể dùng đệ quy để duyệt)

http://cC4.upanh.com/23.146.30192763.jSi0/20110602103028.png

Kingshanghai
29-07-2011, 17:17
Không phải có thể mà là dùng đệ qui là đơn giản nhất và hữu hiệu nhất.


public void GetNode(XmlNode node, List<XmlContent> Lst, ref string err)
{
try
{
if (node.NodeType != XmlNodeType.XmlDeclaration)
{
if (node.NodeType == XmlNodeType.Element)
{
if (node.Attributes[0].Value.ToString() == this.ParentName)
{
if (node.HasChildNodes)
{
foreach (XmlNode chil in node.ChildNodes)
{
if (chil.Attributes != null)
{
Castle.Extension.XmlContent Xml = new Extension.XmlContent();
Xml.Value = chil.InnerText;
Xml.ID = chil.Attributes[0].Value.ToString();
Xml.Name = chil.Name;
Lst.Add(Xml);
}
}
}
}
}
}
foreach (XmlNode n in node.ChildNodes)
{
GetNode(n, Lst, ref err);/////Đệ qui
}
}
catch (Exception ex)
{
err = ex.Message;
}
}