Fusionchart, XML, ошибка рендеринга

1

У меня есть следующий скрипт, который создает строку XML для рендеринга диаграммы с Fusionchart

<?php
 include("includes/fusioncharts.php");
 $chart = new SimpleXMLElement("<chart></chart>");
 $chart->addAttribute('caption', 'testgrafiek');
 $chart->addAttribute('subcaption', 'onderlabel');
 $chart->addAttribute('xaxisname', 'naam');
 $chart->addAttribute('yaxisname', 'aantal ronden');
 $categories = $chart->addChild('categories');
 $category[0] = $categories->addChild('category');
 $category[1] = $categories->addChild('category');
 $category[0] ->addAttribute('label', 'alias1');
 $category[1]->addAttribute('label', 'alias2');

$dataset1 = $chart->addChild('dataset');
$dataset1->addAttribute('seriesname', 'Revenues');
$dataset1det[0] = $dataset1->addChild('set');
$dataset1det[0] ->addAttribute('value', '16000');
$dataset1det[1] = $dataset1->addChild('set');
$dataset1det[1] ->addAttribute('value', '18000');

$dataset2 = $chart->addChild('dataset');
$dataset2->addAttribute('seriesname', 'Profits');
$dataset2->addAttribute('renderas', 'line');
$dataset2det[0] = $dataset2->addChild('set');
$dataset2det[0] ->addAttribute('value', '1000');
$dataset2det[1] = $dataset2->addChild('set');
$dataset2det[1] ->addAttribute('value', '8000');

$columnChart = new FusionCharts("column3D", "myFirstChart" , 700, 400, "chart-1", "xml", $chart);
$columnChart->render();

Header('Content-type: text/xml');
echo $chart->asXML();
?>
<div id="chart-1"><!-- Fusion Charts will render here--></div>

Если я запустил код выше, у меня есть ошибка на странице, например

This page contains the following errors:

error on line 7 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.

Если я запустил код без

$columnChart = new FusionCharts("column3D", "myFirstChart" , 700, 400, "chart-1", "xml", $chart);
$columnChart->render();

а также

У меня нет ошибок на странице и вижу правильный XML.

Не найти, как это решить.

Кто то?

  • 0
    Проверьте, какой xml вы создали.
Теги:
fusioncharts
simplexml

1 ответ

0

Если вы хотите смешать вывод text/html с XML, вам нужно отформатировать XML самостоятельно, а HTML - закодировать его, чтобы браузер не пытался интерпретировать теги.

Во-первых, вам нужно понять, какой тип заголовка вы используете там, чтобы выход был в этом формате.

Пример:

header("Content-Type: text/xml;"); //gives the output in xml format

header("Content-Type: text/php;"); //gives the output in php format

header("Content-Type: text/html;"); //gives the output in html format

Я использовал ваш код и избавился от проблемы, с которой вы столкнулись, просто для просмотра вывода в формате html вам нужно использовать header("Content-Type: text/html;");

Проблема решена, но ваших данных недостаточно, чтобы получить диаграмму, поэтому, используя достаточные данные, вы сможете увидеть нужный вам график.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню