Итак, я работаю над своей игрой в Unity, и у меня возникла проблема с XML. Я установил систему благодаря учебному пособию, который позволяет мне создавать элементы, читая их данные из базы данных XML. Но есть одна проблема. Я хочу, чтобы настроить свой файл XML, чтобы читать следующим образом:XML-сериализация в единстве. Имеет ли массив различные массивы?
<resistance>
<physical>
<phy>60.0</phy>
</physical>
<air>
<air>50.0</air>
</air>
</resistance>
Однако я не нашел способ, чтобы установить, как корень, чтобы проверить данные в
Формат XML. файл выглядит следующим образом:
<Item>
<id>0</id>
<name>Helmet</name>
<resistance>
<physical>
<phy>60.0</phy>
</physical>
<air>
<air>50.5</air>
</air>
</resistance>
</Item>
[XmlArray ("сопротивление"), XmlArrayItem ("физический")] читает только часть. Я также пытался писать все следующим образом:
[XmlArray("resistance"), XmlArrayItem("physical"), XmlArrayItem("phy")]
public float[] phyres;
[XmlArray("air"), XmlArrayItem("air")]
public float[] airres;
Но тогда файл XML получил грязный, хотя данные читались и я получил правильные сопротивления, что последовало за не прочитанных, как если бы сопротивление стало новое корень управления XML-файлом. Спасибо заранее.
Редактировать: Другими словами, я хочу иметь подкрот в моем ребенке и держать там несколько разных массивов.
Edit: Edit: Спасибо jdweng, это в конечном итоге более просто написать:
[XmlElement("resistance"), XmlArrayItem("physical")]
public float[] phyres;
[XmlElement("air")]
public float[] airres;
Но я все еще получаю один и тот же вопрос. У корня/пространства имен установлено значение, и после этого все считывается из этого пространства имен. Даже после этого не влияет.
Изменить XmlArray к XmlElement. XmlElement будет работать с массивами и устранять один уровень ненужных тегов. – jdweng
@jdweng Похоже, я получаю тот же результат, что и последний фрагмент кода. Корневые изменения этого элемента и каждого элемента после этого выполняются в . Как я могу восстановить корень до после считывания данных из элемента сопротивления? –
lightingft
Вы должны добавить сопротивление к элементу, используя XML (ы) или в своих классах. – jdweng