powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / XML чтение, поиск добавление атрибута.
2 сообщений из 2, страница 1 из 1
XML чтение, поиск добавление атрибута.
    #38071105
Rastamans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Есть задача нужно найти определенный элемент по id атрибута в этом элементе. посчитать сколько в нем дочерних элементов. Добавить к дочерним элементам новый атрибут.
Пример:
Код: xml
1.
2.
3.
	    <spawn npc_id="205110" respawn_time="295" pool="1">
		    <spot x="1875.3131" y="634.126" z="1190.0188" h="61"/>
	    </spawn>


ищем в spawn атрибут "npc_id" и значением "205110"
Добавляем новый атрибут всем элементам "spot" которые принадлежат к элементу "spawn"

Не могу понять как реализовать данное через xmlreader
Начал пробывал писать код на этом и встал

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
        public string SearchKey(String Name)
        {
            string Path = textBoxFileOpen2.Text;
            var strm = new FileStream(Path, FileMode.Open);
            string Key = "";
            string CurrentStr = "";
            using (XmlTextReader XRead = new XmlTextReader(strm))
            {
                while (XRead.Read() && CurrentStr != Name)
                {
                    if (XRead.NodeType == XmlNodeType.Element)
                    {
                        if (XRead.Name == "spawn")
                            Key = XRead.GetAttribute(0);
                        if (Key == textBoxFileOpen2.Text) 
                        {
                            MessageBox.Show("1");
                        }
                    }
                }
            }
            return Key;
        }



Помогите пожалуйста как данную идею реализовать. Не могу разобраться как правильно обработать данные. Если есть возможность по пальцам объяснить готов даже заплатить вознаграждение. Спасибо.
...
Рейтинг: 0 / 0
XML чтение, поиск добавление атрибута.
    #38071686
Rastamans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного почитал. В итоге почти получилось то что хотел.
Не могу понять только как сделать проверку атрибута если он в елементе или нет. Если есть атрибут то пропускаем если нету то создаем новый.
Код: 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.
                reader = new XmlTextReader(textBox1.Text);
                reader.WhitespaceHandling = WhitespaceHandling.None;	// пропускаем пустые узлы

                while (reader.Read())
                    if (reader.NodeType == XmlNodeType.Element)
                        if (reader.Name == "spawn" && reader.GetAttribute("npc_id") == textBox2.Text)
                        {
                            SPAWNS spawn = new SPAWNS(reader.GetAttribute("npc_id"), reader.GetAttribute("pool"), reader.GetAttribute("spotatribValue"), reader.GetAttribute("handler"), reader.GetAttribute("custom"), reader.GetAttribute("difficult_id"));

                            // лист мобов
                            while (reader.Read() && reader.Name == "spot")
                                spawn.AddGood(reader.GetAttribute("x"),
                                    reader.GetAttribute("y")
                                    , reader.GetAttribute("z"),
                                    reader.GetAttribute("h"),
                                    reader.GetAttribute("static_id"),
                                    reader.GetAttribute("random_walk"),
                                    reader.GetAttribute("walker_id"), 
                                    reader.GetAttribute("walker_index"),
                                    reader.GetAttribute("fly"),
                                    reader.GetAttribute("anchor"),
                                    reader.GetAttribute("state"));

                            orders.Add(spawn);
                        }
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / XML чтение, поиск добавление атрибута.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]