Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
1

Ошибка записи XML

13.06.2017, 21:22. Показов 1166. Ответов 6

Author24 — интернет-сервис помощи студентам
Подскажите что не так не записывает ни дату ни square пишет ошибка 3 строки xml на дату ругается
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 public void saveFileXML(string path,ArrayList list, string plos, int porog, string iskpix)// сохранение координат в файл при пакетной обработке
           {
               int chainNumber = 1;
               
               XmlTextWriter writer = new XmlTextWriter(path, null);
 
            writer.Formatting = Formatting.Indented;
            writer.WriteStartDocument();
 
            writer.WriteStartElement("Date");
            writer.WriteAttributeString("Date time", DateTime.UtcNow.ToString());
            writer.WriteEndElement();//закрываем тег date
            writer.WriteStartElement("Square");
            writer.WriteAttributeString("SquarePiksel", plos);
            writer.WriteEndElement();//закрываем тег square
            writer.WriteStartElement("Value of sens");
            writer.WriteAttributeString("Sensitive", porog.ToString());
            writer.WriteEndElement();//закрываем тег value of sens
            writer.WriteStartElement("RGB piksel");
            writer.WriteAttributeString("RGB", iskpix);
            writer.WriteEndElement();//закрываем тег rgb piksel
            foreach (Object[] obj in list)
            {
 
                writer.WriteStartElement("Plane");
                writer.WriteAttributeString("Plane", chainNumber.ToString());
 
                for (int i = 0; i < obj.Length; i++)
                {
                    Point p = (Point)obj[i];
                    //writer.WriteStartElement("point");
                    writer.WriteElementString("x", p.X.ToString());
                    writer.WriteElementString("y", p.Y.ToString());
                }
                chainNumber++;
                writer.WriteEndElement();//закрываем тег plane
            }
 
            writer.WriteEndElement();//закрываем тег plane
            writer.WriteEndDocument();//закрывает все теги, если такие остались
            writer.Close();
 
   }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2017, 21:22
Ответы с готовыми решениями:

Ошибка записи xml файла
у меня есть xml файл: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;options&gt; ...

Ошибка при считывании с XML и записи в TextEdit
Здраствуйте, Андроид только начал изучать. Он мне нужен для дипломной работы. А именно написать...

Ошибка в xml-файле: cannot load response message. Invalid SOAP message. Only one top level element is allowed in an XML document.
Всем добрый день. Хочу попросить помощи по следующей проблеме: Хочу сделать SOAP-запрос Set...

Ошибка записи *.xmcd (при успешной записи того-же файла в *.mcd)
День добрый, уважаемые. Ситуация следующая: маткад 15 М020, имеется файл (в приложении), который...

6
Администратор
Эксперт .NET
17689 / 13817 / 5310
Регистрация: 17.03.2014
Сообщений: 28,329
Записей в блоге: 1
13.06.2017, 21:33 2
Dgaizer, имя атрибута не может содержать пробел и в документе может быть только один корневой элемент.
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
13.06.2017, 22:03  [ТС] 3
OwenGlendower, спасибо за ответ но все таки не пойму я в чем проблема???
Миниатюры
Ошибка записи XML  
0
Администратор
Эксперт .NET
17689 / 13817 / 5310
Регистрация: 17.03.2014
Сообщений: 28,329
Записей в блоге: 1
13.06.2017, 22:26 4
Dgaizer, возможно в том что элемент Plane открывается N раз внутри цикла, а закрывается один раз после цикла.
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
14.06.2017, 00:20  [ТС] 5
OwenGlendower, подскажите пожалуйства я вот сделал вот так
но файл не корректно он записывает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
            string chislo = Convert.ToString(chainNumber);
            writer.Formatting = Formatting.Indented;
            writer.WriteStartDocument();
            int sloi = Convert.ToInt16(textBox1.Text);
            string plos = Convert.ToString(label2.Text);
            string iskpix = Convert.ToString(trackBar4.Value + " " + trackBar2.Value +" " + trackBar1.Value); //для записи значения пикселя в файл
            string porog = Convert.ToString(trackBar3.Value);
 
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("proba.xml");
            XmlElement xRoot = xDoc.DocumentElement;
 
            XmlElement planeElem = xDoc.CreateElement("plane");
            XmlElement sensitiveElem = xDoc.CreateElement("sensitive");
            XmlElement rgbElem = xDoc.CreateElement("rgb");
            XmlElement dateElem = xDoc.CreateElement("date");
 
            XmlElement zElem = xDoc.CreateElement("z");
 
            XmlText zText = xDoc.CreateTextNode(sloi.ToString());//текстовое для слоя
            XmlText dateText = xDoc.CreateTextNode(DateTime.UtcNow.ToString());//текстовое для даты
            XmlText sensitiveText = xDoc.CreateTextNode(porog);//тестовое для чувствительность
            XmlText rgbText = xDoc.CreateTextNode(iskpix); //текстовое для РГБ
            zElem.AppendChild(zText);//добавляем текстовой z
            dateElem.AppendChild(dateText);//датаивремя
            sensitiveElem.AppendChild(sensitiveText);//порог чувствительность
            rgbElem.AppendChild(rgbText);
            planeElem.AppendChild(zElem);// добавляется z
 
            foreach (Object[] obj in list)
            {
               
                XmlAttribute numberAttr = xDoc.CreateAttribute("number");
 
                XmlText numberText = xDoc.CreateTextNode(chislo); //текстокое для number
               
                numberAttr.AppendChild(numberText); //номер плоскости
 
               
 
                for (int i = 0; i < obj.Length; i++)
                {
                    Point p = (Point)obj[i];
                    XmlElement xElem = xDoc.CreateElement("x");
                    XmlElement yElem = xDoc.CreateElement("y");
                    XmlText xText = xDoc.CreateTextNode(p.X.ToString()); //текстокое для x
                    XmlText yText = xDoc.CreateTextNode(p.Y.ToString());//тестовое для y
                    xElem.AppendChild(xText);//добавляем текстовой x
                    yElem.AppendChild(yText);//добавляем текстовой y
 
                    planeElem.Attributes.Append(numberAttr); //создает тег добавляет номер
    
                    planeElem.AppendChild(xElem);// добавляется x
                    planeElem.AppendChild(yElem); //добавляет y
                }
                sloi += sloi;
                
            }
 
            xRoot.AppendChild(planeElem);
            xDoc.Save("proba.xml");
            //добавляем узлы
           
 
  
  
           
        }

Но файл он записывает



XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="utf-8"?>
<planes>
  <plane number="0">
    <date>
    </date>
    <sensitive>
    </sensitive>
    <rgb>
    </rgb>
    <z>1</z>
    <x>104</x>
    <y>136</y>
  </plane>
  <plane number="0">
    <z>1</z>
    <x>104</x>
    <y>136</y>
  </plane>
  <plane number="0">
    <z>1</z>
    <x>104</x>
    <y>136</y>
    <x>105</x>
    <y>135</y>
  </plane>
</planes>
0
Администратор
Эксперт .NET
17689 / 13817 / 5310
Регистрация: 17.03.2014
Сообщений: 28,329
Записей в блоге: 1
14.06.2017, 00:40 6
Dgaizer, как можно понять почему структура XML не соответствует твоим ожиданиям не зная что тебе нужно получить и не зная вида входных данных?
1
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
15.06.2017, 19:27 7
Dgaizer, Напишите на XDocument и Linq2Xml, там намного труднее накосячить со структурой.

Добавлено через 2 минуты
И да, пиксель пишется не Piksel, а pixel.
1
15.06.2017, 19:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2017, 19:27
Помогаю со студенческими работами здесь

Добавление в XML записи
&lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot; ?&gt; &lt;ListOfBooks&gt; &lt;Book&gt; &lt;Title FontSize...

Ошибка записи при препрошивке биоса (Защита от записи)
Добрый день всем!!! Имеется материнская плата Biostar G31 M7 - TE. Срок службы уже 2 года. ...

добаление записи в XML документ
Доброй ночи! есть файлик: &lt;?xml version = &quot;1.0&quot; encoding = &quot;UTF-8&quot;?&gt; &lt;root&gt; ...

Добавление записи в xml файл
Начал изучать XML::Simlple, но пока никак не пойму, как добавить значение в файл. Оригинальный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru