Как получить элемент Xml C#

267
02 июля 2021, 21:00

<?xml version="1.0" encoding="utf-8"?> 
<Project name="Arma3"> 
  <Package name="Main"> 
    <Key ID="STRCAMP_03bv01"> 
      <Original>&lt;t size='0.6'&gt;Men, this evening you can put your feet up and relax. You've earned it. &lt;br/&gt;I'm going back to Le Moule. You're in charge.&lt;/t&gt;</Original> 
      <English>&lt;t size='0.6'&gt;Men, this evening you can put your feet up and relax. You've earned it. &lt;br/&gt;I'm going back to Le Moule. You're in charge.&lt;/t&gt;</English> 
      <Chinese>&lt;t size='0.6'&gt;今晚大家可以翘起脚来好好休息一下了,这是你们应得的。&lt;br/&gt;现在我要回到Le Moule,这里由你来指挥。&lt;/t&gt;</Chinese> 
      <Chinesesimp>&lt;t size='0.6'&gt;今晚大家可以翘起脚来好好休息一下了,这是你们应得的。&lt;br/&gt;现在我要回到Le Moule,这里由你来指挥。&lt;/t&gt;</Chinesesimp> 
    </Key> 
    <Key ID="STRCAMP_03bv02"> 
      <Original>&lt;t size='0.6'&gt;Hmm. Something tells me we won't be doing much relaxing this evening.&lt;/t&gt;</Original> 
      <English>&lt;t size='0.6'&gt;Hmm. Something tells me we won't be doing much relaxing this evening.&lt;/t&gt;</English> 
      <Chinese>&lt;t size='0.6'&gt;唔,我有预感我们今天晚上不会太轻松。&lt;/t&gt;</Chinese> 
      <Chinesesimp>&lt;t size='0.6'&gt;唔,我有预感我们今天晚上不会太轻松。&lt;/t&gt;</Chinesesimp> 
    </Key> 
  </Package> 
</Project>

public static void SetText(string Id, string TranslateText)
    {
        XElement root = XElement.Load("Test.xml");
        IEnumerable<XElement> code =
            from el in root.Elements("Key")
            where (string)el.Attribute("ID") == Id
            select el;
        foreach (XElement el in code)//Element.ChildNodes)
        {
            if (el.Name == "Original")
            {
                OriginalText = el.Value;
                if (OriginalText.IndexOf("&lt;t size='0.6'&gt;") > -1)
                {
                    el.Add(new XElement("Russian", "&lt;t size='0.6'&gt;" + TranslateText + "&lt;t size='0.6'&gt;"));
                }
                else
                {
                    el.Add(new XElement("Russian",TranslateText));
                }
                    break;
            }
        }
    }

Мне нужно получить к примеру Key ID="STRCAMP_03bv01" (Это переменная ID, передаётся именно STRCAMP_03bv01). После этого нужно добавить в него Russian Тут мой текст /Russian но он не находит STRCAMP....

Решение проблемы (спасибо за наводку tym32167):

        public static void SetText(string Id, XElement root, string TranslateText)
    {         
        IEnumerable<XElement> code =
            from el in root.Descendants("Key")
            where (string)el.Attribute("ID") == Id
            select el;
        foreach (XElement el in code)//Element.ChildNodes)
        {
            foreach (var d in el.Descendants())
            {
                if (d.Name == "Original")
                {
                    Console.WriteLine(d);
                    OriginalText = d.ToString();
                    if (OriginalText.IndexOf("&lt;t size='0.6'&gt;") > -1)
                    {
                        el.Add(new XElement("Russian", @"&lt;t size='0.6'&gt;" + TranslateText + @"&lt;t size='0.6'&gt;"));
                    }
                    else
                    {
                        el.Add(new XElement("Russian", TranslateText));
                    }
                    break;
                }
            }
        }
    }
READ ALSO
vk авторизация от имени сообщества

vk авторизация от имени сообщества

Начинаю программировать на C# по этому возможно чего-то просто не могу увидетьРою интернет несколько дней, не могу найти информацию о том...

108
Unity3D Неправильно поворачивается объект

Unity3D Неправильно поворачивается объект

Делаю небольшую игру на Unity и C#Проблема в том, что когда поворачивается объект, вместо поворота он растягивается (Коллайдер тоже)

85
как перевести yii2 на production

как перевести yii2 на production

Я облазил весь интернет в поиске того, как перевести yii2 на продакшинИ практическе везде я видел ответы типа:

140