【发布时间】:2017-11-06 10:51:44
【问题描述】:
我有一个这样的 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 加载文档。
然后我有两个XmlNodeList,它们是targetAttrs 和linkAttrs。
我正在使用此代码来获取值;
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 = Закрыть
如果有人编写代码并解释确切的逻辑,我将不胜感激。
【问题讨论】:
标签: c# xml foreach xml-attribute