【发布时间】:2017-07-05 09:11:45
【问题描述】:
你如何将 char 转换为 XElement.value 从 WPF 中的 XML 文件?我已经打印了树元素,但没有打印它们的值;我得到无法从 'char' 转换为 'System.Xml.Linq.XElement' 参数。 也许我在迭代错误的类型?
谢谢
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);
}
}
【问题讨论】:
-
欢迎来到 Stack Overflow。请参阅How to Ask 了解如何编写好问题的说明。就目前而言,很难准确理解您要问的内容。此外,请不要发布指向代码或错误图像的链接。相反,将所述信息复制并粘贴到您的问题中。这当然是一个普遍的建议。您应该始终确保您发布的任何和所有代码都构成您所面临问题的Minimal, Complete, and Verifiable 示例。