Как использовать TinyXml для парсинга для определенного элемента

Начиная с версии 0.9.0, сценарии запускаются параллельно, если не указано иное с помощью @parallel=false

Если ваши функции работают параллельно, то ваши сценарии будут. Вам следует переключиться на 0.9.1, если это не так.

7
задан Enigma 22 March 2016 в 21:26
поделиться

2 ответа

Это будет примерно сделано:

    TiXmlHandle docHandle( &doc );

    TiXmlElement* child = docHandle.FirstChild( "nmaprun" ).FirstChild( "host" ).FirstChild( "ports" ).FirstChild( "port" ).ToElement();

    int port;
    string state;
    for( child; child; child=child->NextSiblingElement() )
    {

        port = atoi(child->Attribute( "portid"));

        TiXmlElement* state_el = child->FirstChild()->ToElement();

        state = state_el->Attribute( "state" );

        if ("filtered" == state)
            cout << "port: " << port << " is filtered! " << endl;
        else
            cout << "port: " << port << " is unfiltered! " << endl;
    }
10
ответ дан 6 December 2019 в 15:31
поделиться

Лучше всего использовать библиотеку TinyXPath в дополнение к TinyXML.

Это мое лучшее предположение для правильного запроса XPath :

/ nmaprun / host / ports / port [state / @ state = "open"] [1] / @ portid

Вы можете проверить это с помощью онлайн-тестера .

4
ответ дан 6 December 2019 в 15:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: