【发布时间】:2018-09-30 09:27:54
【问题描述】:
我的 XML 消息的收件人要求我在每个元素的末尾添加换行符。他们要求这样做,因为消息直接进入 Oracle 数据库,他们只能将其视为一个长字符串,这使得测试变得困难。他们目前的解决方法是在 Internet Explorer 中打开它,但这需要时间
有没有办法在每个元素的末尾添加一个换行符?
我尝试在每个元素的末尾添加以下内容
print (chr(13).chr(10));
但这对输出没有影响。这是我的消息的开始
$writer = new XMLWriter();
$writer->openURI('php://output');
$writer->startDocument('1.0','UTF-8');
$writer->setIndent(TRUE);
$writer->startElement('vehicleServiceRequest');
$writer->startElement('vehicleDetails');
$writer->writeElement('companyIdentifier', $AIS_transmission_code);
$writer->writeElement('transportCompanyName', $user['company_name']);
$writer->writeElement('dispatchNumber', $booking_reference);
$writer->writeElement('plannedDispatchDate', date("Y-m-dTH:i:s")); // We use today as the planned dispatch date
$writer->writeElement('dispatchPostCode', $user['postcode']);
$writer->writeElement('dispatchCountryCode', 'UK');
这是输出
<?xml version="1.0" encoding="UTF-8"?><vehicleServiceRequest><vehicleDetails><companyIdentifier>001</companyIdentifier><transportCompanyName>Mixed Freight Services</transportCompanyName><dispatchNumber>174672</dispatchNumber>
【问题讨论】:
-
我确实查看了该答案,但我正在寻找消息中的 CRLF 以使其更具可读性,而不是该数据中的换行符。也就是说我刚刚尝试过 $writer->setIndentString(PHP_EOL);这是工作的一部分。我现在在每个元素的末尾有三个换行符,但在 Notepad++ 中查看时丢失了整体格式