Quantcast
Channel: Visual C# forum
Viewing all articles
Browse latest Browse all 31927

How to load an xml into a treeview then when clicked on an item shows in listview

$
0
0

Hello,

I'm having a problem when loading my xml to treeview. I want to load it in treeview correctly

and then when I cliick on an item it will show in the list view

Here is my xml

<?xml version="1.0" encoding="ISO-8859-1"?><mission_script><briefing text_id="mission_01_briefing" map_texture="/data/textures/atlas_gui/mission_gfx/briefing_map_m01" ><briefing_text txt_id="briefing_m01_strategic" headline_id="briefing_strategic_hl" anchor="obj1" pos="0.074 0.246 -2" type="objective"/><briefing_text txt_id="briefing_m01_tactical" headline_id="briefing_tactical_hl" anchor="obj2" pos="0.12 0.187 -2" type="objective"/><briefing_text txt_id="objectives_m01" headline_id="objectives_hl" anchor="obj3" pos="0.206 0.012 -2" type="objective"/><briefing_text txt_id="insertions_m01" headline_id="insertions_hl" anchor="obj4" pos="0.174 0.246 -2" type="objective"/><briefing_text txt_id="tips_m01" headline_id="tips_hl" anchor="obj5" pos="0.074 0.246 -2" type="objective"/><map_text txt_id="loc_sp_mission01_01" pos="0.67 0.02 0.4" type="small"/><map_text txt_id="loc_sp_mission01_02" pos="0.65 0.155 0.3" type="small"/><map_text txt_id="loc_sp_mission01_03" pos="0.673 0.255 0.4" type="small"/><map_text txt_id="loc_sp_mission01_04" pos="0.345 0.2 0.1" type="small"/>	<map_text txt_id="loc_sp_mission01_05" pos="0.55 0.5 0.21" type="small"/>	<map_text txt_id="loc_sp_mission01_06" pos="0.5 0.82 0" type="small"/><map_text txt_id="1" pos="0.345 0.25 0.1" type="small"/><map_text txt_id="4" pos="0.673 0.315 0.1" type="small"/><map_text txt_id="5" pos="0.86 0.09 0.1" type="small"/> <actor name="m01_briefing"/>			<video name="data/movies/m01_video.bik"/></briefing></mission_script>
Here is my code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Runtime.CompilerServices;
using System.Windows.Forms;
using System.Xml;
using System.Data;
namespace GrawXml
{
    public partial class Briefing : Form
    {
        public Briefing()
        {
            InitializeComponent();
        }
        class Mission
        {
            public string Name { get; set; }
            public string Atrib1 { get; set; }
            public string Atrib2 { get; set; }
            public string Atrib3 { get; set; }
            public string Atrib4 { get; set; }
            public string Atrib5 { get; set; }
            public string Atrib6 { get; set; }
            public string Atrib7 { get; set; }
            public string Atrib8 { get; set; }
            public string Atrib9 { get; set; }
            public string Atrib10 { get; set; }
            public string Atrib11 { get; set; }
            public string Atrib12 { get; set; }
        }
        string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        List<Mission> nodes = new List<Mission>();
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                nodes[listView1.SelectedItems[0].Index].Name = textBox1.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib1 = textBox2.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib2 = textBox3.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib3 = textBox4.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib4 = textBox5.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib5 = textBox6.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib6 = textBox7.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib7 = textBox8.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib8 = textBox9.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib9 = textBox10.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib10 = textBox11.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib11 = textBox12.Text;
                nodes[listView1.SelectedItems[0].Index].Atrib12 = textBox13.Text;
                listView1.SelectedItems[0].Text = textBox1.Text;
            }
            catch (Exception)
            {
                MessageBox.Show("Error....Listview is empty");
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Mission p = new Mission();
            p.Name = textBox1.Text;
            p.Atrib1 = textBox2.Text;
            p.Atrib2 = textBox3.Text;
            p.Atrib3 = textBox4.Text;
            p.Atrib4 = textBox5.Text;
            p.Atrib5 = textBox6.Text;
            p.Atrib6 = textBox7.Text;
            p.Atrib7 = textBox8.Text;
            p.Atrib8 = textBox9.Text;
            p.Atrib9 = textBox10.Text;
            p.Atrib10 = textBox11.Text;
            p.Atrib11 = textBox12.Text;
            p.Atrib12 = textBox13.Text;
            nodes.Add(p);
            listView1.Items.Add(p.Name);
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            textBox7.Text = "";
            textBox8.Text = "";
            textBox9.Text = "";
            textBox10.Text = "";
            textBox11.Text = "";
            textBox12.Text = "";
            textBox13.Text = "";
        }
        private void button3_Click(object sender, EventArgs e)
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(this.path + @"\Graw Mission Script\mission.xml");
            xDoc.SelectSingleNode("mission_script");
            foreach (Mission p in nodes)
            {
                XmlNode xTop = xDoc.CreateElement("briefing");
                XmlAttribute A1 = xDoc.CreateAttribute("text_id");
                XmlAttribute A2 = xDoc.CreateAttribute("map_texture");
                A1.InnerText = p.Atrib1;
                A2.InnerText = p.Atrib2;
                xTop.Attributes.Append(A1);
                xTop.Attributes.Append(A2);
                XmlNode Bf1 = xDoc.CreateElement("briefing_text");
                XmlAttribute A3 = xDoc.CreateAttribute("txt_id");
                XmlAttribute A4 = xDoc.CreateAttribute("headline_id");
                XmlAttribute A5 = xDoc.CreateAttribute("anchor");
                XmlAttribute A6 = xDoc.CreateAttribute("pos");
                XmlAttribute A7 = xDoc.CreateAttribute("type");
                A3.InnerText = p.Atrib3;
                A4.InnerText = p.Atrib4;
                A5.InnerText = p.Atrib5;
                A6.InnerText = p.Atrib6;
                A7.InnerText = p.Atrib7;
                xTop.AppendChild(Bf1);
                Bf1.Attributes.Append(A3);
                Bf1.Attributes.Append(A4);
                Bf1.Attributes.Append(A5);
                Bf1.Attributes.Append(A6);
                Bf1.Attributes.Append(A7);
                XmlNode Bf3 = xDoc.CreateElement("map_text");
                XmlAttribute A8 = xDoc.CreateAttribute("txt_id");
                XmlAttribute A9 = xDoc.CreateAttribute("pos");
                XmlAttribute A10 = xDoc.CreateAttribute("type");
                A8.InnerText = p.Atrib8;
                A9.InnerText = p.Atrib9;
                A10.InnerText = p.Atrib10;
                xTop.AppendChild(Bf3);
                Bf3.Attributes.Append(A8);
                Bf3.Attributes.Append(A9);
                Bf3.Attributes.Append(A10);
                XmlNode Bf6 = xDoc.CreateElement("actor");
                XmlAttribute A11 = xDoc.CreateAttribute("name");
                A11.InnerText = p.Atrib11;
                xTop.AppendChild(Bf6);
                Bf6.Attributes.Append(A11);
                XmlNode Bf7 = xDoc.CreateElement("video");
                XmlAttribute A12 = xDoc.CreateAttribute("name");
                A12.InnerText = p.Atrib12;
                xTop.AppendChild(Bf7);
                Bf7.Attributes.Append(A12);
                xDoc.DocumentElement.AppendChild(xTop);
            }
            xDoc.Save(path + @"\Graw Mission Script\mission.xml");
        }
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                textBox1.Text = nodes[listView1.SelectedItems[0].Index].Name;
                textBox2.Text = nodes[listView1.SelectedItems[0].Index].Atrib1;
                textBox3.Text = nodes[listView1.SelectedItems[0].Index].Atrib2;
                textBox4.Text = nodes[listView1.SelectedItems[0].Index].Atrib3;
                textBox5.Text = nodes[listView1.SelectedItems[0].Index].Atrib4;
                textBox6.Text = nodes[listView1.SelectedItems[0].Index].Atrib5;
                textBox7.Text = nodes[listView1.SelectedItems[0].Index].Atrib6;
                textBox8.Text = nodes[listView1.SelectedItems[0].Index].Atrib7;
                textBox9.Text = nodes[listView1.SelectedItems[0].Index].Atrib8;
                textBox10.Text = nodes[listView1.SelectedItems[0].Index].Atrib9;
                textBox11.Text = nodes[listView1.SelectedItems[0].Index].Atrib10;
                textBox12.Text = nodes[listView1.SelectedItems[0].Index].Atrib11;
                textBox13.Text = nodes[listView1.SelectedItems[0].Index].Atrib12;
            }
            catch
            {
            }
        }
        private void removeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                listView1.Items.Remove(listView1.SelectedItems[0]);
                nodes.RemoveAt(listView1.SelectedItems[0].Index);
            }
            catch
            {
            }
        }
        private void button4_Click(object sender, EventArgs e)
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(path + @"\Graw Mission Script\mission.xml");
            TreeNode root = new TreeNode(xDoc.DocumentElement.Name);
            treeView1.Nodes.Add(root);
            foreach (XmlNode node in xDoc.DocumentElement.ChildNodes)
            {
                TreeNode briefing = new TreeNode("" + node.Attributes[0].Value);
                root.Nodes.Add(briefing);
                if (node.HasChildNodes)
                {
                    foreach (XmlNode childnode in node.ChildNodes)
                    {
                        TreeNode n2 = new TreeNode(childnode.Name + "" + childnode.InnerText);
                        briefing.Nodes.Add(n2);
                    }
                }
            }
        }
    }
}
What am I doing wrong?



Viewing all articles
Browse latest Browse all 31927

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>