1
将SQL作为输入,我必须查询PostgreSQL数据库并将结果作为XML返回。我已经用下面的代码这样做:使用PHP将PostgreSQL查询结果转换为XML DOM
<?php
$link = "host=localhost dbname=company user=pgsql password=password";
$connect = pg_connect($link);
$query = "SELECT * FROM customer";
$result = pg_query($connect, $query);
$doc = new DomDocument("1.0");
$root = $doc->createElement('data');
$root = $doc->appendChild($root);
while($row = pg_fetch_assoc($result)){
$node = $doc->createElement('collection');
$node = $root->appendChild($node);
foreach($row as $fieldname => $fieldvalue){
$node->appendChild($doc->createElement($fieldname, $fieldvalue));
}
}
$doc->save("cust.xml");
?>
最后,我将被直接应用CSS样式表到XML文档。我将为每个“集合”节点指定样式信息。但是,有可能会有子集合的集合,甚至是子集合等等。
(所以说:师父,细节,子细节,子子的细节,等等)
的问题是,我的代码将只生成XML硕士,细节,子细节。我如何修改我的代码,以便生成的XML将始终“捕获”所有数据级别?
谢谢...
是的,我指的层次关系。例如,用我现在的代码,我可以看到“客户”表的所有字段属性。但是,如果其中一个客户属性是“地址”,而客户有多个地址?这将需要显示为...
<data>
<collection>
<fname>Joe</fname>
<lname>Smith</lname>
<address>
<address A> 123...</address A>
<address B> 234...</address B>
</collection>
</data>
我想修改我的代码,这样的事实“捡”该地址,虽然属性,有子属性...