从 mysql 创建 xml 文件
Create xml file from mysql
发现这个脚本几乎可以满足我的要求;但不是一路走来。
$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>
我需要更改什么?我已经尝试了所有我能想到的选项。
这只是中间部分。其余似乎工作正常。
提前致谢!
function createElement
正是这样做的 - 创建新元素。
第一个参数将是您的元素的名称(在您的例子中 - column):
$col = $dom->createElement('column', $value);
如果你想要一个名为 id
的元素,你应该使用 id
作为元素的名称:
$col = $dom->createElement('id', $value);
更新 - 更好的解释:
函数createElement
有2个参数。第一个参数是标签的名称,第二个参数是标签的内容
这意味着如果您这样做:
$col = $dom->createElement('ThisIsMySpecialTagName', 'ValueValueValue');
你会得到
<ThisIsMySpecialTagName>ValueValueValue</ThisIsMySpecialTagName>
你可以在 first 参数中输入任何你想要的标签名称(介于 <
和 >
之间的东西)和第二个参数是标签的内容(开始和结束标签之间的内容)。
发现这个脚本几乎可以满足我的要求;但不是一路走来。
$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>
我需要更改什么?我已经尝试了所有我能想到的选项。
这只是中间部分。其余似乎工作正常。
提前致谢!
function createElement
正是这样做的 - 创建新元素。
第一个参数将是您的元素的名称(在您的例子中 - column):
$col = $dom->createElement('column', $value);
如果你想要一个名为 id
的元素,你应该使用 id
作为元素的名称:
$col = $dom->createElement('id', $value);
更新 - 更好的解释:
函数createElement
有2个参数。第一个参数是标签的名称,第二个参数是标签的内容
这意味着如果您这样做:
$col = $dom->createElement('ThisIsMySpecialTagName', 'ValueValueValue');
你会得到
<ThisIsMySpecialTagName>ValueValueValue</ThisIsMySpecialTagName>
你可以在 first 参数中输入任何你想要的标签名称(介于 <
和 >
之间的东西)和第二个参数是标签的内容(开始和结束标签之间的内容)。