0

こんにちは、私は自分のサイトをこのために翻訳したいと思っています。Xml ファイルを使用し、Linq から 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 に答える