如何使用标准c ++将c字符串转换为xml?

时间:2011-09-16 07:41:44

标签: c++ xml string

我想知道有没有办法通过使用stander c ++从c字符串生成xml架构?在我当前的应用程序中,有一个服务器通过套接字发送逗号分隔的字符串。解析日期很麻烦。我想扩展它以将此字符串转换为标准XML格式。这样我就可以轻松地从客户端解析数据。

c string: - 温度,低:20,高:30,电流:24

xml: -

<temperature>
  <low>20</low>
  <high>30</high>
  <current>24</current>
</temperature>    

请提供一些链接或示例以了解更多信息。谢谢!

2 个答案:

答案 0 :(得分:1)

C ++没有XML解析器作为标准库的一部分。为此,您需要第三方库。 MSXMLXerces是我用过的两个。虽然Xerces设置起来有点麻烦,但我不得不说这两者更好。

答案 1 :(得分:0)

基本上你有两个不同的步骤:

  1. 解析字符串并从中获取您想要的信息
  2. 编写XML
  3. 对于步骤1.我建议使用一些正则表达式库,例如Boost.Regex

    只要您解析了信息,就可以使用标准流(例如

    )将XML写入字符串
    std::stringstream s;
    s << "<temperature><low>" << low << "</low><high>" << high << "</high>";
    s << "<current>" << current << "</current>";
    s << "</temperature>";
    

    并将结果字符串与s.str()一起使用。