У меня есть набор данных "AllEventData", и в этом наборе данных (на данный момент) есть только одна таблица с именем buttonData. Он имеет 3 столбца - первичный ключ с автоинкрементным числом, имя (typeof (строка)) и прямоугольник. Третий столбец специально typeof (Rectangle). Я показываю все это с панелью данных.
Я сделал метод AllEventData.WriteXML, чтобы записать файл без специальных параметров, и это, кажется, работает нормально - я получил файл, который выглядит следующим образом:
<?xml version="1.0" standalone="yes"?>
<AllEventData>
<ButtonData>
<ID>1</ID>
<Button_x0020_Name>sdfh</Button_x0020_Name>
<Button_x005F_x0020_Location xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Location>
<X>480</X>
<Y>186</Y>
</Location>
<Size>
<Width>95</Width>
<Height>67</Height>
</Size>
<X>480</X>
<Y>186</Y>
<Width>95</Width>
<Height>67</Height>
</Button_x005F_x0020_Location>
</ButtonData>
</AllEventData>
Но когда я выполняю AllEventData.ReadXML для того же файла, он заполняет панель данных только именами кнопок, а не местами прямоугольников.
Я попытался сделать запись схемы отдельно:
using (SaveFileDialog saveFileDialog1 = new SaveFileDialog())
{
saveFileDialog1.Filter = "XML | *.xml";
saveFileDialog1.Title = "Save File";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
AllEventData.WriteXml(saveFileDialog1.FileName);
string xsdFileName = saveFileDialog1.FileName.Substring(0, saveFileDialog1.FileName.Length - 3) + "xsd";
AllEventData.WriteXmlSchema(xsdFileName);
}
}
и то же самое в обратном порядке, чтобы прочитать его со схемой:
using (OpenFileDialog openFileDialog1 = new OpenFileDialog())
{
openFileDialog1.Filter = "XML | *.xml";
openFileDialog1.Title = "Open File";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
AllEventData.Clear();
string xsdFileName = openFileDialog1.FileName.Substring(0, openFileDialog1.FileName.Length - 3) + "xsd";
AllEventData.ReadXmlSchema(xsdFileName);
AllEventData.ReadXml(openFileDialog1.FileName);
}
}
Но все еще не туда добраться.
Почему ReadXML не работает, чтобы прочитать то, что написал WriteXML?