| 116 | } |
| 117 | |
| 118 | bool WriteEscapedText(const char* s, size_t length) { |
| 119 | for (size_t i = 0; i < length; i++) { |
| 120 | switch (s[i]) { |
| 121 | case '&': WriteString("&"); break; |
| 122 | case '<': WriteString("<"); break; |
| 123 | default: os_.Put(s[i]); break; |
| 124 | } |
| 125 | } |
| 126 | return true; |
| 127 | } |
| 128 | |
| 129 | bool WriteStartElement(const char* type, bool emptyElement = false) { |
| 130 | if (level_ == 0) |