私は現在、プログラム設定のためにXMLファイルを読み込まなければならないプロジェクトに取り組んでいます。特定のXMLパラメータを読む
XMLは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<!-- Settings for Modul1 -->
<root>
<Program-Config>
<Parameter>Name</Parameter>
<Value>John</Value>
</Program-Config>
<Program-Config>
<Parameter>Device</Parameter>
<Value>TV</Value>
</Program-Config>
.
.
.
</root>
この構造は、このようなDataGridViewのを埋めるためにも使用されています
Parameter | Value
__________|______
Name | John
Device | TV
これが働いていると私はXMLに私が行った変更を保存することができますファイル。
しかし、私の問題は、xmlファイルの特定の要素を読み取る必要がありますが、まだうまく機能していないことです。
マイコード:
string dir;
dir = Directory.GetCurrentDirectory() + "\\config.xml";
XDocument xDoc = XDocument.Load(dir);
var xmlStr = File.ReadAllText(dir);
var str = XElement.Parse(xmlStr);
var result = str.Elements("Program-Config").
Where(x => x.Element("Parameter").Value.Equals("Device")).ToList();
for (int i = 0; i <= result.Count - 1; i++)
{
Console.WriteLine(result[i].Value);
}
しかし、彼が何をコンソールに書き込みがある:DeviceTV。しかし、私は必要があります:テレビ
これは、プログラムの他の部分のための文字列/ intとして使用されます。
誰でも私を助けることができますか?
xDocument xDoc = XDocument.Load(dir)が冗長であり、私が試した別のアプローチの残存である場合もあります。 – SUM
xDocで2番目のソリューションを使用しています。あなたは非常に頑張ります!小さなxmlファイルの場合、これは私が行きたい方法です。たぶん、私はそれを少し変更する必要があるので、私はすべてのパラメータのクエリをハードコードする必要はありませんより多くのパラメータを読み込むには大きなファイルを持っている。 – SUM