Hi,

I'm struggling with an xml fragment processing issue.  I'm using a fragment 
saved to a file as a backup of an existing portion of my main XML document.  
When the user chooses to restore this portion of main XML document, I just want 
to overwrite the current in memory <element> with the original held in the 
fragment.  The problem I get is after the factory parse, doc.setElement, then 
save to file of the main XML, there are duplicate tags in the file e.g
<parent>
   <element> -- original tags
       <element>  ----+ restored tags and contents
           <contents> |
       </element>    +
   </element>
</parent>

The document then causes validation errors when its reloaded, as its finding 
<element> a second time.

I've managed to find the right combination of settings in the XmlOptions to 
call element.save(options) and get the following:
<?xml version="1.0" encoding="UTF-8"?>
<element  xmlns="<mynamespace>" 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance>
    <contents>
<element>

Note : No "xml-fragment" in the output, and I'm using default namespaces and 
prefixes to keep the XML clean.

I then try to read it in as

    Element restoredElement = Element.Factory.parse(fragmentFile, options)

and overwrite the original using

    parent.setElement(restoredElement);

This doesn't seem to have the desired affect, as its replacing element's 
contents and not element itself.

Any suggestions would be appreciated.

Regards

Andrew

Reply via email to