2010-09-01 12 views
-1
int countNodes(TreeNode *root) { 
      // Count the nodes in the binary tree to which 
      // root points, and return the answer. 
     if (root == NULL) 
      return 0; // The tree is empty. It contains no nodes. 
     else { 
      int count = 1; // Start by counting the root. 
      count += countNodes(root->left); // Add the number of nodes 
              //  in the left subtree. 
      count += countNodes(root->right); // Add the number of nodes 
              // in the right subtree. 
      return count; // Return the total. 
     } 
    } // end countNodes() 

de sortie ........ ........... quelque chose comme çaje veux montrer la sortie de mon programe écrit en C++ dans un fichier xml

+0

Aucun texte? Pas d'explication ? – paercebal

+0

@paercebal: je veux montrer la sortie d'un programme d'arbre binaire en XML. – nomi

+0

je peux le montrer dans le classement simple, mais je ne sais pas à propos de xml – nomi

Répondre

1

Votre question ne sait pas, donc je suppose que vous voulez « données de sortie dans un fichier XML »

données outputing dans un flux de fichier dans un format XML pourrait être quelque chose comme:

#include <iotream> 
#include <fstream> 

int main(int argc, char * argv[]) 
{ 
    TreeNode * root = doWhataverGizmoYouWantToCreateThat() ; 
    int count = countNodes(root) ; 
    delete root ; 

    std::fstream output("output.xml", std::ios_base::out) 
    output << "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" ; 
    output << "<count value=\"" << count << "\" />\n" ; 

    return 0 ; 
} 

S'il vous plaît lire l'aide iostream pour plus d'informations sur l'objet fstream et ses utilisations:

http://www.cplusplus.com/reference/iostream/

Maintenant, si vous voulez analyser et modifier un XML existant, vous aurez besoin d'un analyseur XML. Vous pouvez google ces parseurs, par exemple avec:

http://www.google.com/search?q=XML+c%2B%2B+parser

Edit:

Après avoir lu les commentaires:

XML est une sorte de fichier texte organisé. Un peu comme HTML, s'il s'agit d'éléments, d'attributs et de données. Par exemple, c'est un contenu de fichier XML:

<?xml version="1.0" encoding="utf-8" ?> 
<!-- This is a comment --> 
<!-- The first line will declare the XML file, as well as 
     its version, and its encoding --> 
<my_element> 
<!-- this is an element. It can contain others elements, 
     as well as text data and attributes --> 
    <my_other_element my_attribute="some_value" /> 
    <!-- my_other_element has an attribute whose name is 
     my_attribute, and whose value is some_value --> 
    <my_another_element>Some text value</my_another_element> 
    <!-- my_another_element has an attribute whose content 
     is the following text "Some text value" --> 
<my_element> 
<!-- this is the end of my_element, closing it --> 

Pour plus d'informations, lisez:

http://www.google.com/search?q=XML

+0

est ce programme dynamiquement générer un format XML pour un arbre ou je dois le coder en dur? – nomi

+0

Vous devez le coder en dur. Si vous avez besoin de jouer avec XML, vous avez quelques jours/semaines d'apprentissage à faire. Vous ne l'obtiendrez pas avec une simple question SO. Suivez les liens, jouez avec des tutoriels, jusqu'à ce que vous l'obteniez.Le codage en dur comme je l'ai fait est la mauvaise solution pour une exportation XML robuste, sauf si vous êtes très très compétent avec XML (vous connaissez les coins sombres, etc.), mais cela peut aider pour certaines choses. Si vous voulez avoir une solution robuste, vous devrez utiliser un analyseur capable de produire les données. Xerces vient à l'esprit, même si c'est un peu "grand". – paercebal

1

fichiers XML ne sont que des fichiers texte avec des caractères de formatage et de contrôle spéciaux.

Sans plus d'informations ragarding ce que c'est exactement ce que vous voulez ou quelles bibliothèques C++ ou version que vous utilisez il est difficile de vous conseiller directement.

Etes-vous après quelque chose comme ça par exemple?

<RootNode> 
    <Node> 
    <Property Name="Node1"/> 
    <Node> 
     <Property Name="Sub-node1"> 
    </Node> 
    <Node/> 
    <Node Name="Node2"/> 
</RootNode> 
+0

J'utilise viusal studio 9 et je veux que mon programme génère des choses comme ci-dessus. – nomi

Questions connexes