我有这个非常简单的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<ConfigurationFile>
<ConfigurationFilePath>Test1</ConfigurationFilePath>
<ConnectionString>Test2</ConnectionString>
<AnalyzeFilePath>Test3</AnalyzeFilePath>
</ConfigurationFile>
我想获得每个领域的信息。但这不显示任何内容。
这是我后面的C#代码:
private void ParseXMLFile()
{
Console.WriteLine("Parse");
if (configurationPAthFileTextbox.Text != null)
{
Console.WriteLine("file != null");
try
{
XElement main = XElement.Load(configurationPAthFileTextbox.Text);
var results = main.Descendants("ConfigurationFile")
.Select(e => new { ConfigurationFilePath = e.Descendants("ConfigurationFilePath").FirstOrDefault().Value,
ConnectionString = e.Descendants("ConnectionString").FirstOrDefault().Value });
foreach (var result in results)
Console.WriteLine("{0}, {1}", result.ConfigurationFilePath, result.ConnectionString);
Console.ReadLine();
}
catch (Exception e)
{
Debug.WriteLine(e.ToString());
}
}
}
将其加载为XDocument
,因为它是文档,而不是元素。
var xDoc = XDocument.Load(configurationPAthFileTextbox.Text);
您可以轻松地将文档转换Dictionary<string, string>
为元素名称作为键,元素值作为值:
var results = xDoc.Root
.Elements()
.ToDictionary(e => e.Name, e => (string)e);
打印ConfigurationFilePath
和ConnectionString
:
Console.WriteLine("{0}, {1}", results["ConfigurationFilePath"], results["ConnectionString"]);
印刷品Test1, Test2
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句