我已經在C++(GNU編譯器)中創建了一個包含100,000個員工記錄的二進制文件。現在我需要使用C++創建具有100,000個員工記錄的XML表。但我不知道如何使用C++代碼創建XML表。是否有任何示例代碼或教程可用於執行此程序?在C++中創建XML表
0
A
回答
0
下面是簡單的人爲的例子
#include <iostream>
#include <vector>
#include <string>
class Employee
{
public:
Employee(const std::string &firstname, const std::string &lastname, int salary)
:firstname_(firstname), lastname_(lastname), salary_(salary)
{
}
friend std::ostream &operator<<(std::ostream &os, const Employee &rhs)
{
rhs.print(os);
return os;
}
private:
void print(std::ostream &os) const
{
os << "<employee>";
os << "<firstname>" << firstname_ << "</firstname>";
os << "<lastname>" << lastname_ << "</lastname>";
os << "<salary>" << salary_ << "</salary>";
os << "</employee>\n";
}
std::string firstname_;
std::string lastname_;
int salary_;
};
int main(int argc, char *argv[])
{
std::vector<Employee> staff;
staff.push_back(Employee("Peter", "Griffin", 10000));
staff.push_back(Employee("Lois", "Griffin", 20000));
staff.push_back(Employee("Chris", "Griffin", 30000));
staff.push_back(Employee("Meg", "Griffin", 40000));
staff.push_back(Employee("Stewie", "Griffin", 50000));
staff.push_back(Employee("Brian", "Griffin", 60000));
std::cout << "<staff>\n";
for(std::vector<Employee>::const_iterator i=staff.begin(),end=staff.end(); i!=end; ++i)
{
std::cout << (*i);
}
std::cout << "</staff>\n";
return 0;
}
+0
就像旁邊 - 誰投下了這個請解釋如何這是錯的;-) –
+1
我不是下來的選民,但這不能正確地逃脫任何領域 - 這意味着你打開你的自我到一個整個問題。它也不關注XML的「編碼」。 –
0
我建議使用XML序列化庫寫入數據到一個自定義的XML格式。
例如開源,MIT-許可C++庫libstudxml既提供了低級API
void start_element (const std::string& name);
void end_element();
void start_attribute (const std::string& name);
void end_attribute();
void characters (const std::string& value);
和高級API
template <typename T>
void element (const T& value);
template <typename T>
void characters (const T& value);
template <typename T>
void attribute (const std::string& name,
const T& value);
的libstudxml documentation提到,其串行化源代碼起源於一個名爲Genx(也是MIT授權)的XML序列化的小型C庫。
相關問題
- 1. 在c中創建xml#
- 2. 在C \ C++中使用XML創建GUI
- 3. XML文件創建在C#
- 4. 在C++代碼中創建XML
- 5. 在c#中創建XML屬性
- 6. 如何在c中創建xml消息?
- 7. 在C#中創建簡單的Xml
- 8. 在C#中創建MS Project XML文件
- 9. 在C#中爲jQuery創建XML
- 10. 在c中創建表單#
- 11. 表格XML創建在XSLT
- 12. 在XML中創建
- 13. 如何在xml中創建子列表
- 14. 在c#中從父子表創建XML的最快方法?
- 15. WP8創建XML文件c#
- 16. Streaming/progressive C++ XML創建庫?
- 17. 創建XmlDocument的C#XML
- 18. 在C#中創建列表的列表
- 19. 縮進程序創建的XML在C#
- 20. 創建使用LINQ到XML在C#
- 21. C#XML屬性正在創建不當
- 22. 在xml中創建cdata
- 23. Android:在XML中創建ListView?
- 24. 在XML中創建引用
- 25. 在java中創建xml更快xml
- 26. 從XML創建HTML表格
- 27. XML - 創建訂單表
- 28. 使用Xml創建列表
- 29. 從ASP.NET/C#中的xml文檔創建一個HTML表格?
- 30. 如何在c#中創建秒錶?
您應該選擇一個XML庫並完成教程。關於「最好的XML庫」有很多問題,我的搜索挖掘10秒發生在一個以Windows爲中心的問題上,可能會幫助你,也可能不會幫助你 - http://stackoverflow.com/questions/2990903/best-xml-library- in-c-fast-setup-up - 但是如果你在另一個操作系統上,我建議你多搜索一下。抵制自己編寫代碼的誘惑,除非您準備確保使用正確的值轉義約定。 –
XML沒有什麼特別或神奇的地方,它只是圍繞數據的文本。 –
[我應該在C++中使用什麼XML解析器?](http://stackoverflow.com/questions/9387610/what-xml-parser-should-i-use-c) –