2011-10-31 81 views
0

我有一个从源生成XML的函数。但是,当某些领域很长时,它可以很好地工作。它将表格向右延伸并破坏网站的格式。有没有办法在一定数量的文本之后插入换行符或将它保留在表空间之内?XML显示格式

的代码的功能是:

function generateXML($mlsID, $xmlLocation) { 

if (file_exists($xmlLocation)) { 
    $simpleXMLobject = simplexml_load_file($xmlLocation); 
    if (!$simpleXMLobject) { 
     echo 'ERROR: unable to parse XML file'; 
     exit; 
    } 

    $mlsIdWasLocatedInXMLfile = false; 
    foreach ($simpleXMLobject->Listing as $listing) { 
     if ($listing->ListingDetails->MlsId == $mlsID) { 
      $mlsIdWasLocatedInXMLfile = true; 
      //echo '<table width ="500" style="table-layout:fixed" >'; 
      $dom = new DOMDocument('1.0'); 
      $dom->preserveWhiteSpace = false; 
      $dom->formatOutput = true; 
      $dom->loadXML($listing->asXML()); 
      echo("<pre>" . htmlspecialchars($dom->saveXML()) . "</pre>"); 
      //echo '</table>'; 
     } 
    } 
    if ($mlsIdWasLocatedInXMLfile === false) { 
     echo "MLS ID NOT FOUND IN XML FILE"; 
    } 
} else { 
    echo 'ERROR: file not found'; 
} 
} 
+1

一些CSS,最大宽度和溢出:滚动,也许? –

回答

0

那么你不应该格式化输出,因为这将毫无意义的时候。更好地改变你的网站 - 制作元素,在其中显示你的信息可滚动。

如果你需要做的自动换行,请尝试使用此功能:自动换行

+0

我如何将wordwrap合并到xml中?你能给个例子吗? – wiseman7687

+0

很好地将您的输出替换为echo(“

" . htmlspecialchars(wordwrap($dom->saveXML(), 500, "
")) . "
”);应该做的工作 – Valdas

+0

我试过这个代码,但它仍然一直延伸到屏幕上。我甚至做了一个像50而不是500的极端数字。 – wiseman7687