Foros - Stratos

Stratos => XNA => Mensaje iniciado por: jbosch en 24 de Octubre de 2011, 08:11:12 PM

Título: Problemas deserializando XML en WP7
Publicado por: jbosch en 24 de Octubre de 2011, 08:11:12 PM
Hola,

Tengo un juego en el que cargo distinta información desde un XML, y funciona bien... tengo el xml marcado como que debe ser compilado, y lo cargo con un simple Content.Load.

Ahora bien, ahora quiero hacer lo mismo con otro objeto (muy muy simple), que es este:

public class LevelData
    {
        public float monsterizationRatio;
        public float levelDurationTime;
        public float monstersSpeed;
        public MonsterData[] monstersData;

        public class MonsterData
        {
            public int id;
            public bool available;
        }

        public LevelData()
        { }
    }

para el cual genero el siguiente XML:

<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
  <Asset Type="GameLogic.LevelData" monsterizationRatio="1" levelDurationTime="50000" monstersSpeed="50">
      <monsterizationRatio>25</monsterizationRatio>
      <levelDurationTime>50000.0</levelDurationTime>
      <monstersSpeed>50.0</monstersSpeed>
      <monstersData>
        <Item id="1" available="true" />
      </monstersData>
  </Asset>
</XnaContent>

Nadamás compilar obtengo el error "XML element "id" not found". Es obvio que el ID sí está en el XML. En algunos foros he visto que el problema estaba en el orden de la declaración de los campos en el XML, pero os puedo asegurar que he probado todas las combinaciones posibles :-)


Alguna idea?

Título: Re: Problemas deserializando XML en WP7
Publicado por: XÑA en 24 de Octubre de 2011, 08:43:46 PM
MonsterData es un array. Así como lo defines en el XML parece un campo de MonsterData...
Título: Re: Problemas deserializando XML en WP7
Publicado por: flipper83 en 24 de Octubre de 2011, 09:37:15 PM
eso es el serializador funciona un poco raro con arrays y vectores aki te dejo una entrada en mi blog q explicaba como funciona

http://kartones.net/blogs/codefreak/archive/2010/08/10/xna-usar-xml-en-la-360.aspx (http://kartones.net/blogs/codefreak/archive/2010/08/10/xna-usar-xml-en-la-360.aspx)
Título: Re: Problemas deserializando XML en WP7
Publicado por: Mars Attacks en 24 de Octubre de 2011, 10:32:19 PM
Si le cuentas un chiste a un XML, ¿lo deserializas?
Título: Re: Problemas deserializando XML en WP7
Publicado por: blau en 24 de Octubre de 2011, 11:48:05 PM
diooossss.....que chiste mas maloooo.... ;)
Título: Re: Problemas deserializando XML en WP7
Publicado por: jbosch en 25 de Octubre de 2011, 10:29:58 AM
venga ya... ahora funciona. Juro que ayer ya lo probé así... pero ahora compila... oye vete tu a saber xD

<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
  <Asset Type="GameLogic.LevelData" monsterizationRatio="1" levelDurationTime="50000" monstersSpeed="50">
      <monsterizationRatio>25</monsterizationRatio>
      <levelDurationTime>50000.0</levelDurationTime>
      <monstersSpeed>50.0</monstersSpeed>
      <monstersData>
        <Item>
          <id>1</id>
          <available>true</available>
        </Item>
      </monstersData>
  </Asset>
</XnaContent>