Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和XmlWriter更改缩进字符串_Php_Xml_Laravel_Xmlwriter - Fatal编程技术网

PHP和XmlWriter更改缩进字符串

PHP和XmlWriter更改缩进字符串,php,xml,laravel,xmlwriter,Php,Xml,Laravel,Xmlwriter,我使用的是Laravel5,我尝试使用XMLWRITER输出xml文件。 是否可以将缩进字符串从“一个空格”更改为“制表” 我的实际代码: $xml = new \XMLWriter(); $xml->openMemory(); $xml->setIndent(4); $xml->startDocument('1.0','UTF-8','yes'); $xml->startElement('immeuble'); $xml-

我使用的是Laravel5,我尝试使用XMLWRITER输出xml文件。 是否可以将缩进字符串从“一个空格”更改为“制表”

我的实际代码:

    $xml = new \XMLWriter();
    $xml->openMemory();
    $xml->setIndent(4);
    $xml->startDocument('1.0','UTF-8','yes');
    $xml->startElement('immeuble');
    $xml->writeAttribute('nature-immeuble', 'test');
    $xml->startElement('adresse');
    $xml->writeAttribute('localite', 'Copropriete');
    $xml->writeAttribute('libelle-pays', 'France');
    $xml->startElement('cadastre');
        $xml->writeAttribute('section', 'AA');
        $xml->writeAttribute('numero', '0000');
        $xml->endElement();
        $xml->endElement();
    foreach($lots as $lot) {
        $xml->startElement('lot');
        $xml->writeAttribute('numero', $lot->id);
        $xml->writeAttribute('type', 'appartement');
        $designation = getDesignation2($lot->id);
        $xml->writeAttribute('designation', $designation);
        $xml->writeAttribute('batiment', substr($lot->etageLots->first()->etage->batiment->nom, 0, 5));
        $xml->writeAttribute('etage', $lot->etageLots->first()->etage->coeff_id);
        if(is_null($lot->tantieme_force)){
            $tantieme = round($lot->tantieme_calcul,0);
        }else{
            $tantieme = $lot->tantieme_force;
        }
        $xml->writeAttribute('milliemes-generaux', $tantieme.$base);
        $xml->endElement();
    }
    $xml->endElement();
    $xml->endDocument();

    $content = $xml->outputMemory();
    $xml = null;

    return response($content)->header('Content-Type', 'text/xml');
它给了我正确的xml,但每一行都在前面缩进一个空格,实际上我想要一个表格

是否可以更改此设置

我看到了设置缩进字符串,但我没有找到一种将其用于制表的方法


感谢您的帮助。

如果您想使用表格缩进,请按如下方式使用:

$xml->setIndent(true);
$xml->setIndentString(“\t”);

如果要使用表格缩进,请按如下方式使用:

$xml->setIndent(true);
$xml->setIndentString(“\t”);

接缝,如
$xml->setIndent()等待一个布尔值,而不是期望的空间数,我无法尝试,但可能是您想要的,是否可以在set indent string中设置一个表格?我没有找到用于制表的html代码。我认为它不存在,但您可以尝试
$xml->setIndentString(“”
很遗憾,它不起作用:第7列第3行错误:实体“nbsp”未使用
$xml->setIndent(true)定义
before?像
$xml->setIndent()这样的接缝等待一个布尔值,而不是期望的空间数,我无法尝试,但可能是您想要的,是否可以在set indent string中设置一个表格?我没有找到用于制表的html代码。我认为它不存在,但您可以尝试
$xml->setIndentString(“”
很遗憾,它不起作用:第7列第3行错误:实体“nbsp”未使用
$xml->setIndent(true)定义之前?