別のプログラムが使用しているxmlファイルがあります。これは、いくつかのiniファイルのパスを指しているので、それらを抽出することに興味があります。これらは、<add>
-tagのkey="config1"
下に(またはcofig2など)が付いた<appSettings>
-tagです。これが私が読みたいサンプルファイルです。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- Comment -->
<add key="config1" value="\\server1\software\pgrTool\Standard.ini.xml" />
<!--<add key="config2" value="C:\HeadQuarter\PgrTool.xml" />-->
<add key="config2" value="\\server1\software\pgrTool\Standard.xml" />
<add key="hide-REM" value="no" />
</appSettings>
</configuration>
ノードが欲しい
<add key="config1" value="\\server1\software\pgrTool\Standard.ini.xml" />
<add key="config2" value="\\server1\software\pgrTool\Standard.xml" />
次のLinqクエリを試しました。
var iniman = from c in XElement.Load(@"C:\Program Files\pgrTool\pgrTool.exe.config").Elements("add")
where c.Attribute("key").Value.StartsWith("config")
select c.Attribute("value");
ただし、ノードは返されませんでした。これらの行とその他の構成を具体的に選択するにはどうすればよいですか?-LINQ to XMLを使用する行?
編集:私はこれを試しました
var configs = var iniman2 = from c in XElement.Load(@"C:\Program Files\pgrTool\pgrTool.exe.config").Elements("configuration").Elements("appSettings")
where c.Attribute("key").Value.StartsWith("config")
select c.Attribute("value");
そして、それはノードも返しませんでした。