При формировании XML знак амперсанда преобразуется в спецсимвол
Формируется XML документ для карты сайты.
$text_loc = $doc->createTextNode( HTTPS_SERVER . "index.php?route=product/category&path=" . $category['category_id'] );
Но спецсимвол заменятся кодом.
<loc>http://city/index.php?route=product/category&path=890</loc>
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Посмотрите на таблицу специальных символов по ссылке тут
Name Character Unicode code point (decimal) Standard Name
quot " U+0022 (34) XML 1.0 quotation mark
amp & U+0026 (38) XML 1.0 ampersand
apos ' U+0027 (39) XML 1.0 apostrophe (1.0: apostrophe-quote)
lt < U+003C (60) XML 1.0 less-than sign
gt > U+003E (62) XML 1.0 greater-than sign
нет ничего страшного что они заменяются, в обратном преобразовании всё будет хорошо
Автор решения: Yitzhak Khabinsky
→ Ссылка
Просто чтобы дополнить ответ Азиза Умарова. Весь кредит принадлежит ему.
XML имеет пять предопределенных сущностей (entities).
Ссылка на сайт: Entity References
+---------+--------+----------------+
| Entity | Symbol | Description |
+---------+--------+----------------+
| < | < | less than |
| > | > | greater than |
| & | & | ampersand |
| ' | ' | apostrophe |
| " | " | quotation mark |
+---------+--------+----------------+