如何使用PHP将数据插入XML?

时间:2017-10-25 02:41:25

标签: php xml

我不熟悉使用PHP和XML。

我所拥有的是XML导出,我通过PHP传递到其他地方,但如果XML的开头有空白,则应用程序无法读取整个内容并且不显示任何内容。< / p>

这是一个导出的时间表:

<W1> <!-- Week 1 of the year -->
 <D1></D1>  <!-- Day 1 of the week -->
 <D2>1-2|C-13SJ-Tutor-SJ-C10||O-3-3GEO-SJ-C10||C-10HS-10SOS-SJ-C6|O-2-1GEO-SJ-C10||O-1-2TOU-SJ-C10|||</D2>  <!-- Day 2 of the week -->
 <D3>1-3|C-13SJ-Tutor-SJ-C10||C-10HS-10SOS-SJ-C6||C-10GN-10SOS-SJ-C10|O-3-3GEO-SJ-C10||O-8-11RRSTY-SJ-C15|||</D3>
 <D4>1-4|C-13SJ-Tutor-SJ-C10|O-2-1GEO-SJ-C10|C-10GN-10SOS-SJ-C10||O-3-3GEO-SJ-C10|O-1-2TOU-SJ-C10||C-10HS-10SOS-SJ-C6|||</D4>
 <D5>1-5|C-13SJ-Tutor-SJ-C10|O-3-3GEO-SJ-C10|O-2-1GEO-SJ-C10||O-1-2TOU-SJ-C10||||||</D5>
</W1>

在已编写的API中,我试图捕获空D1并插入虚拟数据以使其工作。

根据我在项目其他地方看到的内容,我提出了:

if(empty($d->field('Timetable'))){
  $out.=XML('D1','0-0|||||||||||');}

它显然不起作用,任何建议都会很棒。我已经看过SimpleXML,但不确定这是否适合这个解决方案?

1 个答案:

答案 0 :(得分:0)

SimpleXML应该很容易......

$x = new SimpleXMLElement($xml);
if (empty((string) $x->D1)) {
    $x->D1 = '0-0|||||||||||';
}
$newXML = $x->asXML();

演示〜https://eval.in/886288