Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 12.08.2014
Сообщений: 65
1

как парсить вот эти теги?

08.12.2016, 17:56. Просмотров 921. Ответов 2
Метки нет (Все метки)


Использую PUGIXML для парса xml файлов, и вот имеется такой вот файлик в котором есть

XML
1
2
3
4
5
6
7
8
9
10
11
<objectgroup name="523">
  <object id="104" name="circle" type="a" x="512" y="80" width="16" height="16">
   <ellipse/>
  </object>
  <object id="107" name="aa" type="sd" x="544" y="96">
   <polygon points="0,0 16,16 16,0"/>
  </object>
  <object id="109" x="496" y="96">
   <polyline points="0,0 -32,48 0,48 0,32 16,32 16,48 32,48 32,32 32,16 16,16 0,16 0,0"/>
  </object>
 </objectgroup>
как это обработать не пойму, есть закрывающий тег <ellipse/> по которому можно определить что этот объект является окружностью? а как это прочитать то можно?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2016, 17:56
Ответы с готовыми решениями:

Как исправить вот эти ошибки? Вроде все правильно сделал...
/* * test.cpp * * Created on: 05.11.2011 * Author: Sensei */ #include &lt;iostream&gt;...

Как мне изменить вот эти теги description keywords
Доброго времени суток всем. Описываю проблему. Где то год назад в нашей фирме появились 2 сайта...

Как парсить ajax элементы(динамические теги) в Jquery?
Здравствуйте, возник с такой проблемой что не могу запарсить ajax элементы на нужном сайте, чуть...

Как убрать вот эти штуки
Ребят подскажите как убрать эти штуки :

2
59 / 59 / 53
Регистрация: 05.05.2013
Сообщений: 150
08.12.2016, 19:19 2
Лучший ответ Сообщение было отмечено Harterbreed как решение

Решение

C++
1
cout << objectgroup.child("object").child("ellipse").name();
возвращает имя элемента, если он присутствует, т.е. проверяешь возвращаемое значение на равенство "ellipse"
1
227 / 110 / 79
Регистрация: 17.10.2016
Сообщений: 312
08.12.2016, 19:23 3
Цитата Сообщение от Harterbreed Посмотреть сообщение
по которому можно определить что этот объект является окружностью?
Перебираешь все узлы "object". Если есть дочерний ellipse, то это
окружность.
По справке имхо нетрудно разобраться.

Добавлено через 3 минуты
можно получше написать, но особо не вникал
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
#include <string>
#include <iostream>
#include "pugixml.hpp"
int main(void)
{
    pugi::xml_document doc;
    pugi::xml_parse_result result = doc.load_file("D:\\tree.xml");
    if (result)
    {
        pugi::xml_node root = doc.document_element();
        pugi::xpath_node_set tools = root.select_nodes("object");
        for (pugi::xpath_node_set::const_iterator it = tools.begin(); it != tools.end(); ++it) {
            pugi::xpath_node node = *it;
            for (pugi::xml_node child = node.node().first_child();
                child; child = child.next_sibling())
            {
                if (std::string(child.name()) == "ellipse")
                {
                    std::cout << "Name: " << child.name() << std::endl;
                    std::cout << "Attributes: " << std::endl;
                    for (auto item : node.node().attributes())
                        std::cout << item.name() << ": " << item.value() << std::endl;
                }
            }
        }
    }
    else
        std::cout << "Load result: " << result.description();   
    std::cin.get();
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2016, 19:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как сделать вот эти задания подскажите, очень нада.
1. Составить программу для табулирования функции y(x)=2^cos(x)+x, x=(-&quot;пи&quot;,&quot;пи&quot;) с шагом &quot;дельта...

Ого! Вот тебе и теги!
Как объяснить это: Ни один из роботов пс меня не индексировал, и вдруг увидел на рамблере свой...

Нужны ли эти теги в настоящее время
Обращают ли поисковики внимание на теги: &lt;meta name=&quot;keywords&quot; content=&quot;&quot; /&gt; &lt;meta...

Где эти meta теги в PHP ....Joomla
Есть сайт ...но не оптемезирован...и не готов ..к оптимизации.... хочу прописать ключевые слова...

Вот зачем эти диоды тут?
Народ, На картинке предоставлен отрезок схемы - два операционника в неинвертирующем режиме...

Кто шарит ,напишите вот эти проги
1. Написать программу вычисления ближайшего сверху числа степени 2; Программа должна использовать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.