Mong các bro vào xem và xửa giúp xem sai ở chỗ nào
Code:
private void btnXml_Click(object sender, EventArgs e)
{
try
{
XmlDocument Source = new XmlDocument();
String filename = "Data.xml";
//Source.Load(filename);
FileStream fs = new FileStream(filename, FileMode.Open);
XmlTextReader xtr = new XmlTextReader(fs);
string languagename = "";
string groupname = "";
clWord word = new clWord();
DataTable xml = word.Xml_List();
if (xml.Rows.Count > 0)
{
for (int i = 1; i <= xml.Rows.Count; i++)
{
languagename = xml.Rows[i]["languageName"].ToString();
groupname = xml.Rows[i]["groupName"].ToString();
if (xtr.MoveToContent() == XmlNodeType.Element && xtr.Name == languagename)
{
if (xtr.MoveToContent() == XmlNodeType.Element && xtr.Name == groupname)
{
XmlNode group = Source.SelectSingleNode("/" + languagename + "/" + groupname);
XmlElement Element;
Element = Source.CreateElement("WordID");
Element.InnerText = Convert.ToString(xml.Rows[i]["wordID"]);
group.AppendChild(Element);
Element = Source.CreateElement("Kanji");
Element.InnerText = Convert.ToString(xml.Rows[i]["kanji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Hiragana");
Element.InnerText = Convert.ToString(xml.Rows[i]["hiragana"]);
group.AppendChild(Element);
Element = Source.CreateElement("Romaji");
Element.InnerText = Convert.ToString(xml.Rows[i]["romaji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Vietnamese");
Element.InnerText = Convert.ToString(xml.Rows[i]["imi"]);
group.AppendChild(Element);
Source.Save(filename);
}
else
{
XmlNode root = Source.SelectSingleNode("/Dictionary/" + languagename);
XmlElement group = Source.CreateElement("" + groupname);
root.AppendChild(group);
XmlElement Element;
Element = Source.CreateElement("WordID");
Element.InnerText = Convert.ToString(xml.Rows[i]["wordID"]);
group.AppendChild(Element);
Element = Source.CreateElement("Kanji");
Element.InnerText = Convert.ToString(xml.Rows[i]["kanji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Hiragana");
Element.InnerText = Convert.ToString(xml.Rows[i]["hiragana"]);
group.AppendChild(Element);
Element = Source.CreateElement("Romaji");
Element.InnerText = Convert.ToString(xml.Rows[i]["romaji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Vietnamese");
Element.InnerText = Convert.ToString(xml.Rows[i]["imi"]);
group.AppendChild(Element);
Source.Save(filename);
}
}
else
{
XmlNode root = Source.SelectSingleNode("Dictionary");
XmlElement lg = Source.CreateElement("" + languagename);
root.AppendChild(lg); //Báo lỗi ở đây
Source.Save(filename);
if (xtr.MoveToContent() == XmlNodeType.Element && xtr.Name == groupname)
{
XmlNode group = Source.SelectSingleNode("/" + languagename + "/" + groupname);
XmlElement Element;
Element = Source.CreateElement("WordID");
Element.InnerText = Convert.ToString(xml.Rows[i]["wordID"]);
group.AppendChild(Element);
Element = Source.CreateElement("Kanji");
Element.InnerText = Convert.ToString(xml.Rows[i]["kanji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Hiragana");
Element.InnerText = Convert.ToString(xml.Rows[i]["hiragana"]);
group.AppendChild(Element);
Element = Source.CreateElement("Romaji");
Element.InnerText = Convert.ToString(xml.Rows[i]["romaji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Vietnamese");
Element.InnerText = Convert.ToString(xml.Rows[i]["imi"]);
group.AppendChild(Element);
Source.Save(filename);
}
else
{
XmlNodeList root2 = Source.GetElementsByTagName(languagename);
XmlElement group = Source.CreateElement("" + groupname);
root2[0].InnerText = groupname;
XmlElement Element;
Element = Source.CreateElement("WordID");
Element.InnerText = Convert.ToString(xml.Rows[i]["wordID"]);
group.AppendChild(Element);
Element = Source.CreateElement("Kanji");
Element.InnerText = Convert.ToString(xml.Rows[i]["kanji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Hiragana");
Element.InnerText = Convert.ToString(xml.Rows[i]["hiragana"]);
group.AppendChild(Element);
Element = Source.CreateElement("Romaji");
Element.InnerText = Convert.ToString(xml.Rows[i]["romaji"]);
group.AppendChild(Element);
Element = Source.CreateElement("Vietnamese");
Element.InnerText = Convert.ToString(xml.Rows[i]["imi"]);
group.AppendChild(Element);
Source.Save(filename);
}
}
}
}
MessageBox.Show("Import thành công");
}
catch (Exception)
{
MessageBox.Show("Lỗi không thể Import dữ liệu được");
}
}
Close topic tại đây nhé mình tìm ra hướng giải quyết rồi