で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>
属性を読み取って「Port」などの名前を解析するだけで、値セット(この場合は「4050」)を取得することができます。
コンソール出力にノードを返す小さなスニペットのコードがあります。
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、それら?
乾杯
xmlサンプルが不正です。セクショングループとセクションの要素には、属性値の最後の二重引用符がありません。 – Veverke
私はそれを匿名化しなければならなかったが、良いすべてをスポットしていた。 – Supernatix