2010-09-01 75 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() 

輸出的輸出........ ........... 有些事情是這樣的我想表明我PROGRAME用C++編寫的XML文件

+0

無文字?沒有解釋? – paercebal 2010-09-01 07:44:42

+0

@paercebal:我想在xml中展示一個二叉樹程序的輸出。 – nomi 2010-09-01 07:46:34

+0

我可以將它展示到簡單的文件夾中,但我不知道xml – nomi 2010-09-01 07:47:32

回答

1

你的問題不清楚,所以我想你想「輸出數據到XML文件」

Outputing數據轉換成XML格式的文件流可能是這樣的:

#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 ; 
} 

請閱讀的iostream幫助有關fstream的對象及其用途的詳細信息:

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

現在,如果您想分析和修改現有的XML,您將需要一個XML解析器。您可以在google的解析器,例如有:

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

編輯:

看完後評論:

XML是一種有組織的文本文件。有點像HTML,如果是關於元素,屬性和數據。例如,這是一個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 --> 

欲瞭解更多信息,請閱讀:

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

+0

是這個程序動態生成一個樹的XML格式,或者我必須硬編碼它? – nomi 2010-09-01 08:02:37

+0

您必須對其進行硬編碼。如果你需要使用XML,那麼你有幾天/每週的學習要做。你不會得到一個簡單的SO問題。按照鏈接,使用教程,直到你得到它。像我這樣做的硬編碼是一個強大的XML導出錯誤的解決方案,除非你非常精通XML(你知道黑暗的角落等),但它可以幫助一些事情。如果你想有一個強大的解決方案,你需要使用一個能夠輸出數據的解析器。 Xerces想到了,即使它有點「大」。 – paercebal 2010-09-01 08:11:51

1

XML文件是具有特殊格式和控制字符只是文本文件。

沒有更多的信息肆意地指出你想要的是什麼,或者你正在使用什麼C++庫或版本,這很難直接給你提供建議。

你是否像這樣的事情?

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

我使用viusal工作室9 ,我希望我的程序能夠生成像上面這樣的東西。 – nomi 2010-09-01 08:01:33