Черт возьми, я пытаюсь переписать текущий XML-файл в новый XML-файл без предметов, которые больше не выставлены на продажу, но, к сожалению, я, кажется, что-то упускаю
это исходный XML-файл
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<imgdir name="Commodity.img">
<imgdir name="0">
<int name="SN" value="10000000"/>
<int name="ItemId" value="1002000"/>
<int name="Count" value="1"/>
<int name="Price" value="300"/>
<int name="Period" value="14"/>
<int name="Priority" value="8"/>
<int name="Gender" value="2"/>
<int name="OnSale" value="0"/>
</imgdir>
<imgdir name="1">
<int name="SN" value="10000001"/>
<int name="ItemId" value="1002015"/>
<int name="Count" value="1"/>
<int name="Price" value="300"/>
<int name="Period" value="14"/>
<int name="Priority" value="8"/>
<int name="Gender" value="2"/>
<int name="OnSale" value="0"/>
</imgdir>
<imgdir name="2">
<int name="SN" value="10000002"/>
<int name="ItemId" value="1002187"/>
<int name="Count" value="1"/>
<int name="Price" value="300"/>
<int name="Period" value="14"/>
<int name="Priority" value="8"/>
<int name="Gender" value="2"/>
<int name="OnSale" value="0"/>
</imgdir>
<imgdir name="3">
<int name="SN" value="10000003"/>
<int name="ItemId" value="1002292"/>
<int name="Count" value="1"/>
<int name="Price" value="300"/>
<int name="Period" value="14"/>
<int name="Priority" value="8"/>
<int name="Gender" value="2"/>
<int name="OnSale" value="0"/>
</imgdir>
и это результат, который я получаю из своего кода
<?xml version="1.0" encoding="utf-8"?><imgdir xmlns="Commodity.img">
<imgdir SN="10002304" ItemId="5010073" Count="1" Price="3300" Period="90" Priority="12" Gender="2" OnSale="1" xmlns="2" />
<imgdir SN="10002305" ItemId="5010074" Count="1" Price="3300" Period="90" Priority="12" Gender="2" OnSale="1" xmlns="3" />
<imgdir SN="10002306" ItemId="1022104" Count="1" Price="3300" Period="90" Priority="12" Gender="2" OnSale="1" xmlns="4" />
<imgdir SN="10002307" ItemId="9102232" Count="1" Price="16900" Period="90" Priority="12" Gender="2" OnSale="1" xmlns="5" />
<imgdir SN="10002308" ItemId="1003050" Count="1" Price="2500" Period="90" Priority="12" Gender="2" OnSale="1" xmlns="6" />
<imgdir SN="10002309" ItemId="1022102" Count="1" Price="3200" Period="90" Priority="12" Gender="2" OnSale="1" xmlns="7" />
</imgdir>
любые предложения, что я делаю не так?
XmlWriter writer = XmlWriter.Create("NewXml.xml");
int number = 0;
string OLD_itemSN = "0";
writer.WriteStartElement("imgdir", "Commodity.img");
foreach (Cashitem item in Cashitems)
{
if (item.OnSale != 0)
{
if (item.SN.ToString() != OLD_itemSN)
{
number++;
OLD_itemSN = item.SN.ToString();
}
writer.WriteStartElement("imgdir", number.ToString());
writer.WriteAttributeString("SN", item.SN.ToString());
writer.WriteAttributeString("ItemId", item.ItemId.ToString());
writer.WriteAttributeString("Count", item.Count.ToString());
writer.WriteAttributeString("Price", item.Price.ToString());
writer.WriteAttributeString("Period", item.Period.ToString());
writer.WriteAttributeString("Priority", item.Priority.ToString());
writer.WriteAttributeString("Gender", item.Gender.ToString());
writer.WriteAttributeString("OnSale", item.OnSale.ToString());
if (item.Limit != null)
{
writer.WriteAttributeString("Limit", item.Limit);
}
writer.WriteEndElement();
}
}
writer.WriteEndElement();
writer.Flush();
}
в моем выводе я пропускаю imgdir Name = Value и int перед каждым атрибутом, который я действительно отчаялся :(