私はこのようなXMLファイルを持っています。2つの属性を持つ複数のXMLノードをキーと値のペアとしてロードするにはどうすればよいですか?
<?xml version="1.0" encoding="utf-8"?>
<Data>
<StringMaps>
<Menu>
<String Target="BtnFile" Link="Файл" />
<String Target="BtnOpen" Link="Открыто" />
<String Target="BtnSave" Link="Сохранить" />
<String Target="BtnClose" Link="Закрыть" />
</Menu>
</StringMaps>
</Data>
とXmlDocument
を使用してドキュメントをロードします。
そして、私はtargetAttrs
とlinkAttrs
の2つを持っています。
私はこのコードを使用して値を取得しています。
var targetAttrs = xmldoc1.SelectNodes("/Data/StringMaps/Menu/String/@Target");
var linkAttrs = xmldoc1.SelectNodes("/Data/StringMaps/Menu/String/@Link");
foreach (XmlNode temptarget in targetAttrs)
{
foreach (XmlNode templink in linkAttrs)
{
MessageBox.Show(string.Format("{0} = {1}", temptarget.Value, templink.Value));
}
}
私はこれらのようなキーと値のペアとして値を取得しようとしています。
BtnFile = Файл
BtnOpen = Открыто
BtnSave = Сохранить
BtnClose = Закрыть
しかし、私はこれらを取得します。
BtnFile = Файл
BtnFile = Открыто
BtnFile = Сохранить
BtnFile = Закрыть
BtnOpen = Файл
BtnOpen = Открыто
BtnOpen = Сохранить
BtnOpen = Закрыть
BtnSave = Файл
BtnSave = Открыто
BtnSave = Сохранить
BtnSave = Закрыть
BtnClose = Файл
BtnClose = Открыто
BtnClose = Сохранить
BtnClose = Закрыть
誰かがコードを書いて、正確なロジックを説明すると、私は非常に感謝しています。
これは動作し、私はアイデアを得ます、 ありがとうございました! しかし、MessageBoxの文字列の前にあるドル記号は、(string.Formatのような)書式設定のためのものですか? –
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/interpolated-strings – silencedmessage