класс c # для имени атрибута xml с номерами - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь XmlSerializer класс в c #.

Когда мои XML-теги

 <Identificadores>
                  <IdMensaje>123</IdMensaje>
                  <IdMensajeAnterior >123</IdMensajeAnterior>
                  <IdOperacion >123</IdOperacion>

Прост, имея свойства имени класса Indentificadores сtag

[XmlRoot(ElementName = "Identificadores")]
    public partial class Indetifiers
{

 [XmlElement(ElementName = IdMensaje")]
  public string AAA{ get; set; }
 [XmlElement(ElementName = IdMensajeAnterior")]
  public string BBB{ get; set; }
 [XmlElement(ElementName = IdOperacion")]
  public string CCC{ get; set; }
}

Проблема, с которой я сталкиваюсь, заключается в том, что теги XML имеют символы или цифры ...

 <_01:Identificadores>
                      <_01:IdMensaje>123</_01:IdMensaje>
                      <_01:IdMensajeAnterior >123</_01:IdMensajeAnterior>
                      <_01:IdOperacion >123</_01:IdOperacion>
 </_01:Identificadores>

Я не могу использовать ElementName с префиксом _01:

Произошла ошибка при отображении типа Identificadores

У меня есть XML serialize ошибка

Есть ли способ использовать числа и символы для создания этих тегов из класса?

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2018

Пожалуйста, посмотрите на это: https://msdn.microsoft.com/en-us/library/aa468565.aspx

Числа, на которые вы ссылаетесь в вашем примере, на самом деле являются псевдонимами пространства имен.Поэтому, когда вы определяете свои атрибуты сериализации / десериализации, вам нужно указать префиксы пространств имен, чтобы избежать ошибок сериализации XML.

Как я уже говорил, просмотрите ссылку выше, чтобы лучше понять, как работают пространства имен XML.

...