0

嗨,我想为此翻译我的网站,我使用 Xml 文件并使用 Linq to xml 我想获得价值。例如,这是我的 xml:

<?xml version="1.0" encoding="utf-8"?>

<Languages>
  <values id="_hallo">
    <value value="DE" display="Hallo"></value>
    <value value="EN" display="Hello"></value>
    <value value="CS" display="Tschechisch"></value>
    <value value="ES" display="Spanisch"></value>
    <value value="ZH" display="德國的"></value>
  </values>
</Languages>

这是我的 C#:

private void SiteTranslate(string language)
        {
            string BrowserLanguage = Request.UserLanguages[0].ToString().Substring(0, 2).ToUpper(); // here I get "DE" or "EN" etc..

            string btnadd_id = "_hallo"; // for example

            XDocument x = XDocument.Load(Server.MapPath(@"~\App_Data\SiteLanguage.xml"));


            string val = from tep in x.Descendants("values").Where(el => el.Attribute("id").Value == btnadd_id).
                             Descendants("value").
                             Where(l => l.Attribute("value").Value == language).Select //?????? :( 

            BtnAdd.Text = val;
        }
4

1 回答 1

1

这是一个简单的“获取唯一元素”问题:

 string val = x.Descendants("values")
       .Where(el => el.Attribute("id").Value == btnadd_id)
       .Elements("value")
       .Where(l => l.Attribute("value").Value == language)
       .SingleOrDefault()
       .Attribute("display").Value;
于 2013-10-31T10:01:17.310 回答