Joel Witherspoon wrote:
[color=blue]
> I'm generating an xml file using PHP DOMXML . I'm able to create and
> edit the file fine, however the formatting of my file is off. Instead
> of being the standard xml:
> <?xml version="1.0">
> <root>
> <element>
> </element>
> </root>
>
> I am getting:
> <?xml version="1.0">
> <root>
> <element></element></root>
>
> Here is the code:
>
> PHP:
> $tdindex = time(); //creates unix time var for indexing
> $doc = domxml_new_doc('1.0');
> $root = $doc->add_root('categories');[/color]
add_root is deprecated, consider using create_element and then append_child.
[color=blue]
> $category = $doc->create_element('category');
> $category = $root->append_child($category);
>
> $category->set_attribute('index',$tdindex);
> $cattext = $doc->create_text_node($cat);
> $cattext = $category->append_child($cattext);
> $description =
> $doc->create_element('description');
> $description =
> $category->append_child($description);
> $desctext = $doc->create_text_node($desc);
> $desctext =
> $description->append_child($desctext);
>
>
>
> //create file if it doesn't exist and dump memory into it
> $filename = realpath('categories.xml');
> $doc->dump_file($filename, false, true);
>
>
> Is there an method in DOMXML that formats the file? I thought
> dump_file or dump_mem handled it.[/color]
When I try the following with PHP 4.3.3 on Windows
<?php
$xmlDocument = domxml_new_doc('1.0');
$documentElement = $xmlDocument->create_element('gods');
$xmlDocument->append_child($documentElement);
$god = $xmlDocument->create_element('god');
$name = $xmlDocument->create_element('name');
$name->append_child($xmlDocument->create_text_node('Kibo'));
$god->append_child($name);
$documentElement->append_child($god);
$xmlDocument->dump_file('test20040411.xml', FALSE, TRUE);
?>
<p>
<a href="test20040411.xml">test XML file</a>
</p>
then the resulting file looks fine to me
<?xml version="1.0"?>
<gods>
<god>
<name>Kibo</name>
</god>
</gods>
What version of PHP are you using?
--
Martin Honnen
http://JavaScript.FAQTs.com/