Я пытаюсь получить значение XmlElement из перевода.
Когда я отлаживаю код, значение равно нулю.Я пытаюсь получить значение Translations.Section.Translation
в Translation.cs
.Я не могу понять, что я делаю неправильно и почему.Может кто-нибудь объяснить мне, что мне нужно сделать?
Я зашел так далеко, но я не знаю, как заполнить значение.
XML-документ
<?xml version="1.0" encoding="utf-8"?>
<Translations code="nl" description="Dutch" xmlns="urn:Test.Translations">
<Section name="Module">
<Translation key="SystemConfiguration">Systeem configuratie</Translation>
</Section>
<Section name="Feature">
<Translation key="Feature">Feature</Translation>
<Translation key="Name">Naam</Translation>
<Translation key="IsEnabled">Actief</Translation>
</Section>
</Translations>
Translations.cs
[Serializable()]
[XmlRoot(Namespace = "urn:Test.Translations", ElementName = "Translations", DataType = "string", IsNullable = true)]
public class Translations
{
[XmlAttribute("code")]
public string Code { get; set; }
[XmlAttribute("description")]
public string Description { get; set; }
[XmlElement("Section")]
public List<Section> Sections { get; set; }
}
Section.cs
public class Section
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlElement("Translation")]
public List<Translation> Translations { get; set; }
}
Translation.cs
public class Translation
{
[XmlAttribute("key")]
public string Key { get; set; }
//TODO Get value (This is null)
[XmlElement("Translation")]
public string Value { get; set; }
}
program.cs
var serializer = new XmlSerializer(typeof(Translations), "");
using (var reader = new StreamReader(xmlFilePath))
{
var translationFile = (Translations) serializer.Deserialize(reader);
reader.Close();
}