Как не стоит нет никакого способа, чтобы извлечь разрывы строк из значения атрибута в данном XML-фрагменте. В нем нет разрывов строк, просто пробелов, без возможности указать пространство, которое должно указывать новую строку из одной, которая является просто пространством.
Вы можете положить символы новой строки в значения атрибутов. Но чтобы избежать attribute value normalisation процесса сдавливания их к пространствам, они должны были спаслись:
<store name="Pizza R Us" Store_address="16 Main St Anytown, US 00000">
Использования надлежащего XML serialiser будет делать это автоматически. Если вы шаблонирования непосредственно в XML, к сожалению, не является htmlspecialchars
флаг, чтобы сделать этот вид побега, так что вы должны сказать:
<store
name="<?php echo htmlspecialchars($name); ?>"
Store_address="<?php echo str_replace("\n", " ", htmlspecialchars($address)); ?>"
>
Вы можете предпочесть использовать содержимое элемента вместо значений атрибутов для хранения например:
<store>
<name><?php echo htmlspecialchars($name); ?></name>
<address><?php echo htmlspecialchars($address); ?></address>
<items>
...
</items>
</store>
Поскольку символы новой строки в содержании элементов сохранены.