Mein Code erstellt eine XML-Ausgabe von MySQL-Dataset. Dann muss ich es in HTML umwandeln. Ich speicherte es in einer PHP-Variable und versuchte, es in transformToXML ($ XML) als Parameter zu verwenden, aber es erhöht erwartet es ein Objekt hier. Wie konvertiere ich diese XML-Ausgabe in ein Objekt, das hier als Parameter verwendet werden soll. Hier ist mein Code:Verwendung/Konvertierung von XML-Zeichenfolge als Parameter in Xsl-Umwandlung
<?php
// i am using the resultset to build an XML DOM but you can do whatever you like with it !
header("Content-type: text/xml");
$conn = new mysqli("localhost", "babar", "k4541616", "spec", 3306);
// one non-recursive db call to get the message tree !
$result = $conn->query("call message_hier(1)");
//--$result = $conn->query("call message_hier_all()");
$xml = new DomDocument;
$xpath = new DOMXpath($xml);
$msgs = $xml->createElement("messages");
$xml->appendChild($msgs);
// loop and build the DOM
while($row = $result->fetch_assoc()){
$msg = $xml->createElement("message");
foreach($row as $col => $val) $msg->setAttribute($col, $val);
if(is_null($row["parent_msg_id"])){
$msgs->appendChild($msg);
}
else{
$qry = sprintf("//*[@msg_id = '%d']", $row["parent_msg_id"]);
$parent = $xpath->query($qry)->item(0);
if(!is_null($parent)) $parent->appendChild($msg);
}
}
$result->close();
$conn->close();
$save = $xml->saveXML();//-> Here i save mxl in php var
//echo $save;
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load('msg.xsl');
$xslt->importStylesheet($XSL);
header('Content-Type: application/xml');
print $xslt->transformToXML($save); //->error: expects an object here, string given.
?>
Wie benutze ich es? – XCeptable
Nun, Sie könnten die 'save()' Methode darauf verwenden, wenn Sie möchten. Siehe den Link. –
Eigentlich möchte ich fragen, wo soll ich es verwenden? Wenn Sie in der letzten Zeile Ergebnisse drucken möchten, d. H. "Print $ xslt-> transformToDoc ($ save)", dann habe ich es und das gleiche Ergebnis verwendet. Oder Sie erwähnen, es früher zu verwenden, um xml zu domdoc zu konvertieren? – XCeptable