Есть ли способ сказать SimpleXMLElement, чтобы поместить нового дочернего элемента в новую строку?
Я добавляю одну строку в конец существующего XML файла. Файл выглядит так:
<markers>
<marker id="2" name="Diane Gold, CORPORATE TAI CHI means do it in a group." address="Boca Raton, FL 33432, USA" lat="26.340200" lng="-80.081400" type="school"/>
<marker id="3" name="Tai Chi - Stress Management and Relaxation Technology" address="10100 Roe Ave, Overland Park, KS 66207, USA" lat="38.945300" lng="-94.639400" type="school"/>
<marker id="4" name="Wise Orchid Taijiquan and QiGong" address="2002 E Union St, Seattle, WA 98122, USA" lat="47.613200" lng="-122.306000" type="school"/>
</marker>
Я использую созданную мной функцию, которая выглядит так, чтобы добавить одну строку в конец файла:
$xmlstr=file_get_contents('my_filename.xml');
$address=get_address_string($event['eventtag'],'eventtag','events');
echo($xmlstr);
$sxe = new SimpleXMLElement($xmlstr);
$marker = $sxe->addChild('marker');
$marker->addAttribute('id', $event['eventid']);
$marker->addAttribute('name', $event['eventname']);
$marker->addAttribute('address', $address);
$marker->addAttribute('lat', $event['latitude_dd']);
$marker->addAttribute('lng', $event['longitude_dd']);
$marker->addAttribute('type', 'event');
echo $sxe->asXML('my_filename.xml');
}
Проблема является то, что он добавляет новый элемент без каких-либо разрывов строк:
<marker id="" name="Newest Event for Testing" address="1 Arrowhead Drive, , Douglassville, PA, 19518 USA" lat="" lng="" type="event"/><marker id="" name="Newest Event for Testing" address="1 Arrowhead Drive, , Douglassville, PA, 19518 USA" lat="" lng="" type="event"/><marker id="" name="Kutztown University World Tai Chi Day 2020" address="1 Arrowhead Drive, , Douglassville, PA, 19518 USA" lat="" lng="" type="event"/><marker id="1299" name="A Newer WTCD test event" address="1 Arrowhead Drive, , Douglassville, PA, 19518 USA" lat="" lng="" type="event"/><marker id="1302" name="Newest Event for Testin2" address="1 Arrowhead Drive, , Douglassville, PA, 19518 USA" lat="" lng="" type="event"/></markers>
Я перепробовал десятки разных вещей, и я прочитал все о стека overflow, что я мог найти в topi c нового линий. Большинство имеет дело с форматированием файла после того, как он был прочитан, или использует DOM или что-то отличное от SimpleXMLElement для записи в xml. Я только изучаю этот материал и исчерпал свои знания о том, как сделать разрыв строки там. Кто-нибудь знает, что еще я могу попробовать?
Спасибо, CJ