嗨我想要为此翻译我的网站我使用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;
}
答案 0 :(得分: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;