Hi guys, XML data is very easy to handle and
import, just need to define specified data in the XML file and use it anywhere
you want most precisely bind it to any control or display it as it is. Here in
this article I'll be using a Listbox to display the contents of the XML data
source.
Follow the steps below:
Step 1 : Open Expression blend and
select new WPF project. Choose the language preference.
- Either you can goto file-->new project and then select the WPF project.
Step 2 : The design page called artboard
opens up, do the following:
- Go to the asset library
- Drag a Listbox on the artboard.
- Add a button
Step 3 : Now the artboard is ready with
the necessary stuffs. Select the controls.
- Go to the property window
- Now name the listbox as "listboxxml"
- Name the button as "addxml"
Step 4 : Here I'll first write the XML.
- Open note pad and write the following lines
<?xml
version="1.0" encoding="utf-8"
?>
<student>
<Course>Btech</Course>
<branch>IT</branch>
<name>Manoj</name>
<rollno>073384</rollno>
<address>New_tehri</address>
<state>uttarakhand</state>
<Course>mca</Course>
<branch>IT</branch>
<name>Rajesh</name>
<rollno>9834894</rollno>
<address>Bareily</address>
<state>UttarPradesh</state>
<Course>Btech</Course>
<branch>IT</branch>
<name>Brijesh</name>
<rollno>8478384</rollno>
<address>kanpur</address>
<state>Uttarpradesh</state>
<Course>BTech</Course>
<branch>CS</branch>
<name>Nitil</name>
<rollno>454894</rollno>
<address>Dehradun</address>
<state>Uttarakhand</state>
</student>
Step 5 : Save the so created XML file
withe the name "Student.xml". Now select Listbox.
- Go to the property panel
- Select the Data tab
- Select the Datasource --> Create Xml data source
- Now the window opens up asking the xml file path, browse and select the XML file and press OK
Step 6 : You'll see that the XML file is
attached in the Data panel and it shows all the tags/ contents of the XML file.
- Now again select the Listbox
- Go to the property window
- Go to Custom Properties--> Itemsource
- In the ItemSource property select the small yellow square button( advanced option button)
- It opens a window, in this window select--> Databinding.
Step 7 : Selceting databinding
option a window opens up, in this window:
- Select Data field tab
- In the Datafield tab select the XML file on the left side and drop down item of the file appears on the right panel
- Before proceeding inthe combobox below select "All properties" instead of "Matching Types only"
Step 8 : Now the you can drop the XML
file contents list and select the property you would like to bind into the
Listbox.
- select the name property and press OK and exit
- The listbox shows the list of names present in the XML file
Step 9 : In the Add button you can
write a code to insert an XML file into the listbox for this do the following:
- Select the add button
- Go to property panel and select the event button
- In the Click event write any name of the event you are assigning to the add button
- Press enter. The code opens up into the Click event method
- Write the following lines of code to allow the user to manually insert the XML file into the listbox
private void
add(object
sender, System.Windows.RoutedEventArgs e)
{
//
TODO: Add event handler implementation here.
Microsoft.Win32.OpenFileDialog fd = new
Microsoft.Win32.OpenFileDialog();
fd.InitialDirectory = "D:\\";
fd.Filter ="All
Files (*.*)|*.*|Text files (*.txt)|*.xml";
fd.RestoreDirectory = true
;
bool?
result = fd.ShowDialog();
if(result==true)
{
String mypath = fd.FileName.ToString();
if(File.Exists(mypath))
listboxxml.ItemsSource= System.IO.File.ReadAllLines(mypath);
}
}
Step 10 : Save the
application and press F5 to see the output.
Output 1`
Output 2 :