对于熟悉在C#
中解析XML的人来说,这是一个快速的解决方案我有一个XML文件,如下所示;
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral >
<section name="Proxy.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral />
</sectionGroup>
</configSections>
<applicationSettings>
<Proxy.Properties.Settings>
<setting name="MaxLogs" serializeAs="String">
<value>10</value>
</setting>
<setting name="MaxArchives" serializeAs="String">
<value>3</value>
</setting>
<setting name="IpAddress" serializeAs="String">
<value>COMPUTER2</value>
</setting>
<setting name="Port" serializeAs="String">
<value>4050</value>
</setting>
<setting name="Index" serializeAs="String">
<value>0</value>
</setting>
</Proxy.Properties.Settings>
</applicationSettings>
</configuration>
我只想读取属性,并解析名称,例如&#34; Port&#34;但也检索值集,在这种情况下&#34; 4050&#34;。
我有一小段代码将节点返回到控制台输出;
string path = "C:\\Path\\To\\XML.exe.config";
XDocument xdoc = new XDocument();
xdoc = XDocument.Load(path);
var jproxy = xdoc.DescendantNodes();
foreach (var dn in jproxy)
{
Console.WriteLine(dn.NextNode);
}
Console.ReadLine();
还有一个我认为可以方便地存储结果列表的小班;
public class Proxy
{
public string MaxLogs { get; set; }
public string MaxArchives { get; set; }
public string IPAddress { get; set; }
public string Port { get; set; }
public string Index { get; set; }
}
声明:
我已经研究过这里和其他网站上提供的大多数解决方案,但目前还没有点击给我。我知道它比我想象的容易,你可以使用XPath,Linq等,但是对这个特殊问题的任何帮助都将非常感激。
如果您对我将来使用XML的最佳途径有任何建议,我也可以提出建议,因为这是我过去一直在努力解决的问题,例如使用Linq或XPath或所有他们?
干杯
答案 0 :(得分:1)
这样的东西会给你KeyValuePair列表中的所有数据。要填写你提供的课程,你要么必须使用反射或swtich / case,没有其他我能想到的更通用的东西:
SupportMapFragment mapFragment = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(new OnMapReadyCallback() {
编辑:我一直使用LINQ来操作和查询XML文档(类似于上面的代码),你也可以使用XPath,它涵盖了我需要的所有场景。