Хорошо, у меня есть этот XML-файл:
<?xml version="1.0" encoding="UTF-8"?>
<Item>
<Name>Iron Repeater</Name>
<AutoReuse>true</AutoReuse>
<UseAnimation>19</UseAnimation>
<UseTime>19</UseTime>
<Width>50</Width>
<Height>18</Height>
<Shoot>1</Shoot>
<UseAmmo>1</UseAmmo>
<UseSound>5</UseSound>
<Damage>39</Damage>
<ShootSpeed>11</ShootSpeed>
<NoMelee>true</NoMelee>
<Value>200000</Value>
<Ranged>true</Ranged>
<Rarity>4</Rarity>
<Knockback>2.5</Knockback>
<CraftStack>1</CraftStack>
<CraftItem1>Wood</CraftItem1>
<CraftValue1>1</CraftValue1>
<CraftTile1>18</CraftTile1>
<FinishCrafting/>
</Item>
И это читается примерно так:
foreach (string s in API.itemFiles)
{
using (XmlReader reader = XmlReader.Create(s))
{
string aTile;
string aStack;
string item;
string iName;
int tile;
int stack;
int iStack;
reader.MoveToContent();
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.IsStartElement())
{
switch (reader.Name)
{
//Le cases here
}
}
}
}
}
}
API.itemFiles:
public static string[] itemFiles = Directory.GetFiles(itemSave, "*.xml");
Всякий раз, когда я пытаюсь прочитать XML-файл таким образом, кажется, что он не разбирает содержимое элемента (я делаю readElementContentAsXX ();) на переменные или что-то в этом роде, но, похоже, он находит элементы в порядке.
Есть что-то, что я делаю не так? Что-нибудь, что я могу улучшить? Если есть какие-либо другие методы для чтения XML (у него будет множество файлов XML; мне нужно, чтобы он был эффективным), пожалуйста, скажите!
Спасибо!