How do you convert char to XElement.value from a XML file in WPF ? I've printed the tree elements, but not their values; I get the cannot convert from 'char' to 'System.Xml.Linq.XElement' argument. Perphaps i'm iterating the wrong type ?
Thank you
public partial class MainWindow : Window
{
string file1 = System.IO.File.ReadAllText(@"H:\MpxWpfComponents.strings.xsd");
string file2 = System.IO.File.ReadAllText(@"H:\MpxWpfComponents.bg.strings.xml");
string file3 = System.IO.File.ReadAllText(@"H:\MpxWpfComponents.fr.strings.xml");
public MainWindow()
{
InitializeComponent();
}
private void btnOpenFile_Click1(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "XML files (*.xml)|*.xml|All files (*.*)|*.*";
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
if (openFileDialog.ShowDialog() == true)
{
foreach (string filename in openFileDialog.FileNames)
listXML.Items.Add(Path.GetFileName(filename));
}
var xmlDoc = XDocument.Parse(file2);
BuildTree(treeView.Items, xmlDoc.Elements().First());
}
private void BuildTree(ItemCollection itemCollection, XElement xElement)
{
var item = new TreeViewItem() { Header = xElement.Name.LocalName };
itemCollection.Add(item);
foreach (var xElem in xElement.Elements())
{
BuildTree(item.Items, xElem);
}
item = new TreeViewItem() { Header = xElement.Value };
itemCollection.Add(item);
foreach (var xElem in xElement.Value)
{
BuildTree(item.Items, xElem);
}
}