找到这个脚本几乎可以做我想要的东西;但不是一直都是。
$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;
$table = $dom->appendChild($dom->createElement('incidents'));
foreach($result as $row) {
$data = $dom->createElement('incident');
$table->appendChild($data);
foreach($row as $name => $value) {
$col = $dom->createElement('column', $value);
$data->appendChild($col);
$colattribute = $dom->createAttribute('name');
$colattribute->value = $name;
$col->appendChild($colattribute);
现在它给出了一个xml结果:
<column name="id"> and </column>
我希望这是
<id> and </id>
我需要改变什么?我已经尝试了所有我能想到的选择。
这只是中间部分。其余的似乎工作正常。
提前致谢!
答案 0 :(得分:0)
function createElement
正是这样做 - 创造新元素
第一个参数是元素的名称(在您的情况下 - 列):
$col = $dom->createElement('column', $value);
如果您想拥有名称为id
的元素,则应使用id
作为元素的名称:
$col = $dom->createElement('id', $value);
函数createElement
获取2个参数。第一个参数是标签的名称,第二个参数是标签的内容
这意味着,如果你这样做:
$col = $dom->createElement('ThisIsMySpecialTagName', 'ValueValueValue');
你会得到
<ThisIsMySpecialTagName>ValueValueValue</ThisIsMySpecialTagName>
您可以输入第一个参数,无论您想要标记的名称(<
和>
之间的内容)和 second < / strong>参数是标记的内容(开始标记和结束标记之间的内容)。