Merging XML Documents (with ADO.NET?)
Question posted by: Patrick
(Guest)
on
November 12th, 2005 04:39 AM
I have got 2 XML documents, both of which conform to the same XSD Schema,
which define possible optional elements. The 2 XML documents contain 2
disjoint set of XML elements.
What is the best, easiest, most efficient way of merging the 2 XML
Documents? Can I use DataSet.Merge() facility in ADO.NET?? Any
pre-requisites?
Any other suggestions?
3
Answers Posted
Patrick,
Can you provide an example of each XML document? Its not clear to me how
the schema can be the same if each XML document has different sets of XML
elements.
Also, you didn't indicate what you wanted to do after merging the XML
documents. By mentioning a DataSet, I assume you want to work with the
combined data in tables and views.
The simplest suggestion I have, without more info, is to simply concatenate
remove the root tag of one XML document and append the fragment to the other
XML document.
Ad.
"Patrick" <questions@newsgroup.nospam> wrote in message
news:9B72139F-EB53-4285-9F25-D844BFE0EBA3@microsoft.com...[color=blue]
>I have got 2 XML documents, both of which conform to the same XSD Schema,
> which define possible optional elements. The 2 XML documents contain 2
> disjoint set of XML elements.
>
> What is the best, easiest, most efficient way of merging the 2 XML
> Documents? Can I use DataSet.Merge() facility in ADO.NET?? Any
> pre-requisites?
>
> Any other suggestions?[/color]
Example XML documents are:
<!--Start First XML Document!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-->
<?xml version="1.0" encoding="UTF-8"?>
<FormDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Forms.xsd">
<FormName FormTypeAttrib="Country">Form A</FormName>
<FormTitle>Static Form Title</FormTitle>
</FormDefinition>
<!--end First XML Document!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-->
<!--Start Second XML Document!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-->
<?xml version="1.0" encoding="UTF-8"?>
<FormDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Forms.xsd">
<UserDescription InputType="TextArea" ReadFromDB="true">This is what the
user can fill in</UserDescription>
<SignOffs>
<Staus InputType="DropDownList" ReadFromDB="true"/>
<Comment InputType="TextArea" ReadFromDB="true"/>
</SignOffs>
</FormDefinition>
<!--End First XML Document!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-->
They can share the same XSD Schema because the XSD elements are defined as
optional! After I merge the XML documents, I intend to iterate through it
and based on the attributes, etc. render an ASP.NET webform. What is the
best way of merging them?
"Adrian Moore" wrote:
[color=blue]
> Patrick,
>
> Can you provide an example of each XML document? Its not clear to me how
> the schema can be the same if each XML document has different sets of XML
> elements.
>
> Also, you didn't indicate what you wanted to do after merging the XML
> documents. By mentioning a DataSet, I assume you want to work with the
> combined data in tables and views.
>
> The simplest suggestion I have, without more info, is to simply concatenate
> remove the root tag of one XML document and append the fragment to the other
> XML document.
>
> Ad.
>
> "Patrick" <questions@newsgroup.nospam> wrote in message
> news:9B72139F-EB53-4285-9F25-D844BFE0EBA3@microsoft.com...[color=green]
> >I have got 2 XML documents, both of which conform to the same XSD Schema,
> > which define possible optional elements. The 2 XML documents contain 2
> > disjoint set of XML elements.
> >
> > What is the best, easiest, most efficient way of merging the 2 XML
> > Documents? Can I use DataSet.Merge() facility in ADO.NET?? Any
> > pre-requisites?
> >
> > Any other suggestions?[/color]
>
>
>[/color]
Not al XSD's qualify to be a dataset. If indeed your XSD does qualifies to
be a dataset, then you can use dataset.merge, after ReadXmlSchema.
Otherwise, the best way to merge is using the XmlDocument.
- Sahil Malik [MVP]
http://codebetter.com/blogs/sahil.malik/
"Patrick" <questions@newsgroup.nospam> wrote in message
news:9B72139F-EB53-4285-9F25-D844BFE0EBA3@microsoft.com...[color=blue]
> I have got 2 XML documents, both of which conform to the same XSD Schema,
> which define possible optional elements. The 2 XML documents contain 2
> disjoint set of XML elements.
>
> What is the best, easiest, most efficient way of merging the 2 XML
> Documents? Can I use DataSet.Merge() facility in ADO.NET?? Any
> pre-requisites?
>
> Any other suggestions?[/color]
|
|
|
What is Bytes?
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 196,820 network members.
Top Community Contributors
|