3
に複数の要素私は、次のXMLいますLINQのXMLへ - 単一のクラス
<appSettings>
<add key="Prop1" value="1" />
<add key="Prop2" value="2" />
</appSettings>
はConfigPropクラスの単一のインスタンスに、このセクションをロードするためのXMLクエリにLINQはありますか?
に複数の要素私は、次のXMLいますLINQのXMLへ - 単一のクラス
<appSettings>
<add key="Prop1" value="1" />
<add key="Prop2" value="2" />
</appSettings>
はConfigPropクラスの単一のインスタンスに、このセクションをロードするためのXMLクエリにLINQはありますか?
あなたのXMLがPROP1とPROP2キーが含まれていない場合、これは例外をスローしていることを、この
var xml = XElement.Parse(
@"<appSettings><add key=""Prop1"" value=""1"" /><add key=""Prop2"" value=""2"" /></appSettings>");
new ConfigProp
{
Prop1=xml
.Elements("add")
.Single(element=>element.Attribute("key").Value == "Prop1")
.Attribute("value")
.Value,
Prop2 = xml
.Elements("add")
.Single(element => element.Attribute("key").Value == "Prop2")
.Attribute("value")
.Value
};
ノートのようなものをお勧めします。
なぜこれを使用しないのですか?
System.Configuration.ConfigurationManager.AppSettings["Prop1"];
- これは動作しません。あなたは 'xml.Elements(" add ")'の代わりに '' add() ''要素を追加する必要があります。 。 –
@marc_sこれは、 'xml'が与えられたXMLの' XDocument'であると仮定した場合、そしてそれが何であるかを実際には特定しなかったので真です。それは無効な仮定ではありません。私は私の意図を明確にするように更新しました。 – juharr
ありがとう@juharr、うまく動作します。よろしく – Bill