在C++中转义XML/HTML的最有效方法是使用第三方库,如Boost或Poco。这些库都提供了将字符串转义为XML/HTML的函数,可以很方便地使用。 例如,在Boost库中,可以使用boost::replace_all函数将字符串中的特殊字符替换为其对应的转义序列。以下是一个示例代码: ```c++ #include <iostream> #include <boost/algorithm/string/replace.hpp> int main() { std::string str = "<html><body><p>Hello, world!</p></body></html>"; boost::replace_all(str, "<", "<"); boost::replace_all(str, ">", ">"); boost::replace_all(str, "\"", """); boost::replace_all(str, "'", "'"); boost::replace_all(str, "&", "&"); std::cout << str << std::endl; return 0; } ``` 输出结果为: ``` <html><body><p>Hello, world!</p></body></html> ``` 这样,原来的HTML字符串就被正确地转义了。