PHP Генерировать XML с недопустимым символом?

Я хочу создать XML-файл, содержащий недопустимые символы, такие как «&», «=» и т. д.

Возможно ли это, потому что я не могу найти решение? Могу ли я преобразовать эти символы?

Интересно, не лучше ли вместо этого сгенерировать JSON?


person jlafforgue    schedule 05.12.2013    source источник
comment
Звучит как вопрос XY для меня   -  person Sterling Archer    schedule 06.12.2013
comment
Вы создаете XML самостоятельно или используете помощника, такого как SimpleXML? SimpleXML должен автоматически экранировать все за вас php.net/simplexml   -  person Lenny    schedule 06.12.2013
comment
Я использую SimpleXML вот так $xml = new SimpleXMLElement('<xml/>'); $xml->addChild('team', ('test & yes')) Но мой узел xml не генерируется   -  person jlafforgue    schedule 06.12.2013


Ответы (1)


Вы можете включить любой символ в текстовую «полезную нагрузку» XML-документа. Однако, как вы заметили, в случае специальных зарезервированных символов вам может понадобиться сначала избежать их.

Например, & становится &amp; — сокращение от амперсанда, < становится &lt;, а > становится &gt;, меньше и больше соответственно. Однако, как показывает приведенная выше ссылка на Википедию, = не нужно экранировать.

К счастью, PHP включает функции, которые позаботятся об выделении строк вместо вас, поэтому я Я бы порекомендовал просто экранировать текст, прежде чем добавлять его в документ.

person Community    schedule 05.12.2013
comment
Спасибо, если символы escpace все в порядке! - person jlafforgue; 06.12.2013