当前位置: 首页>>代码示例>>C++>>正文


C++ XmlDocument::GetElem方法代码示例

本文整理汇总了C++中XmlDocument::GetElem方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlDocument::GetElem方法的具体用法?C++ XmlDocument::GetElem怎么用?C++ XmlDocument::GetElem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XmlDocument的用法示例。


在下文中一共展示了XmlDocument::GetElem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: testEcritureArbreRenduXML

////////////////////////////////////////////////////////////////////////
///
/// @fn void ConfigSceneTest::testEcritureArbreRenduXML()
///
/// Cas de test: Écriture dans un fichier XML.
///
/// @return Aucune.
///
////////////////////////////////////////////////////////////////////////
void ConfigSceneTest::testEcritureArbreRenduXML() 
{
	arbre->empty();

    NoeudAbstrait* n1 = arbre->creerNoeud( RAZER_KEY_MALLET );
    NoeudAbstrait* n2 = arbre->creerNoeud( RAZER_KEY_MALLET );
    NoeudAbstrait* n3 = arbre->creerNoeud( RAZER_KEY_PORTAL );
    NoeudAbstrait* n4 = arbre->creerNoeud( RAZER_KEY_PORTAL );
    NoeudAbstrait* n5 = arbre->creerNoeud( RAZER_KEY_PUCK );
    NoeudAbstrait* n6 = arbre->creerNoeud( RAZER_KEY_PUCK );
    NoeudAbstrait* n7 = arbre->creerNoeud( RAZER_KEY_BOOST );
    NoeudComposite* nC1 = new NoeudComposite( RAZER_KEY_GROUP );
    NoeudComposite* nC2 = new NoeudComposite( RAZER_KEY_GROUP );
    NoeudComposite* nC3 = new NoeudComposite( RAZER_KEY_GROUP );
    NoeudComposite* nC4 = new NoeudComposite( RAZER_KEY_GROUP );

	arbre->add(n1);
	arbre->add(n2);
	arbre->add(nC1);
    {
        nC1->add(n3);
        nC1->add(n4);
    }
    arbre->add(nC2);
    {
        nC2->add(nC4);
        {
            nC4->add(n5);
        }
        nC2->add(n6);
        nC2->add(nC3);
        {
            nC3->add(n7);
        }
    }

	nC4->setRecordable(false);

	// Écriture initiale du document
	XmlDocument document ;
    XMLUtils::CreateDocument(document);
    VisiteurEcrireXML v;
    arbre->acceptVisitor(v);

    XmlElement* elem = v.obtenirRacine();
    XMLUtils::LinkEndChild(document,elem);

    XMLUtils::SaveDocument(document,"tests_xml\\TestEnregistrement.xml" );
	
	// Lecture manuelle du document et vérification des noeuds lus (et de la non-existence de noeuds qui ne sont pas supposer exister
    const XmlNode* elementConfiguration = XMLUtils::FirstChild( document.GetElem(), ConfigScene::ETIQUETTE_ARBRE );
    const XmlElement *child, *grantChild, *grantGrantChild;//, *grantGrantGrantChild;
	CPPUNIT_ASSERT (elementConfiguration != NULL);
    int nodeKey;
    {
        // n1
        child = elementConfiguration->FirstChildElement();
        CPPUNIT_ASSERT (child != NULL);
        XMLUtils::readAttribute( child, NoeudAbstrait::ETIQUETTE_KEY, nodeKey );
        CPPUNIT_ASSERT(nodeKey == RAZER_KEY_MALLET);

        // n2
        child = child->NextSiblingElement();
        CPPUNIT_ASSERT (child != NULL);
        XMLUtils::readAttribute( child, NoeudAbstrait::ETIQUETTE_KEY, nodeKey );
        CPPUNIT_ASSERT( nodeKey == RAZER_KEY_MALLET );

        // nC1
        child = child->NextSiblingElement( );
        CPPUNIT_ASSERT (child != NULL);
        XMLUtils::readAttribute( child, NoeudAbstrait::ETIQUETTE_KEY, nodeKey );
        CPPUNIT_ASSERT(nodeKey == RAZER_KEY_GROUP);
        {
            // n3
            grantChild = child->FirstChildElement( );
            CPPUNIT_ASSERT (grantChild != NULL);
            XMLUtils::readAttribute( grantChild, NoeudAbstrait::ETIQUETTE_KEY, nodeKey );
            CPPUNIT_ASSERT(nodeKey == RAZER_KEY_PORTAL);

            // n4
            grantChild = grantChild->NextSiblingElement();
            CPPUNIT_ASSERT (grantChild != NULL);
            XMLUtils::readAttribute( grantChild, NoeudAbstrait::ETIQUETTE_KEY, nodeKey );
            CPPUNIT_ASSERT( nodeKey == RAZER_KEY_PORTAL );

            // n'existe pas
            grantChild = grantChild->NextSiblingElement( );
            CPPUNIT_ASSERT (grantChild == NULL);
        }
        // nC2
        child = child->NextSiblingElement( );
//.........这里部分代码省略.........
开发者ID:mathieumg,项目名称:hockedu,代码行数:101,代码来源:ConfigSceneTest.cpp


注:本文中的XmlDocument::GetElem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。