在尝试显示从XML文件中提取的小于和大于符号中包含的某些文本时,我注意到了一种奇怪的行为。
尝试以下示例:
class painter_t : public i_painter_t, public std::enable_shared_from_this<painter_t>
{
public:
static std::shared_ptr<painter_t> create() { return std::make_shared<painter_t>(); }
}
正如您可能注意到的,如果小于符号后没有空格,则不显示文本之间的文本,只显示小于1和小于1的符号。
问题是我正在处理的XML文件恰好在小于和大于符号之间包含一些文本,而在小于符号之后没有任何空格。顺便说一句,如果你在浏览器中查看源代码(Ctrl-U),文本会正确显示:
$xml = '<doc>
<one><<Hello>> "Hello" inside less than and greater than symbols will not be printed</one>
<two><< Hello>> "Hello" is printed because there is a space after "<" </two>
</doc>';
$simple = simplexml_load_string($xml);
echo "<pre>";
print_r($simple);
echo "</pre>";
echo "This works fine: <<Hello>>";