473,386 Members | 1,785 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Add XmlNode

Here I have the definition of an XmlNode which is a property (PayPreference)
on my Customer class containing an enum describing how the customer will
pay.

<PayPerference xsi:type="a4:Customer+CustomerPayOptions"
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken%3Dnull">cash</PayPerference>

I now want to add this XmlNode to a different Xml file where the Customer
class has not defined a PayPreference property. I get as far as locating
the parent XmlNode (Customer). Now I just need to add the XmlNode defined
above. To do this, I understand that I need to ask the XmlDocument to
create the node first before I ask the Customer node to 'AppendChild'. I
notice 3 overloads of CreateElement on the XmlDocument to do this:

CreateElement(string name)
CreateElement(string qualifiedName, string namespaceURI)
CreateElement(string prefix, string localName, string namespaceURI)

So now I'm stuck as to what I need to do now. Any help would be
appreciated!


Nov 12 '05 #1
5 5081
Hi Paul,

Welcome to MSDN newsgroup.
Regarding the adding XmlNode into XmlDocument question you mentioned, we
can just use the XmlDocument.CreateElement to create a Element xml node and
then locate the parent node where we want to append the new element. Then,
we can use the XmlElement(XmlNode) 's AppendChild method to add the new
element. Also, in your scenario, your element has some additional
namespace declaration attributes, we need to append them into the new
element or in the document also. here is a simple example on creating a new
xmlelement and add into a existing xmldoument:

the original document is like:

=================
<?xml version="1.0" encoding="utf-8" ?>
<root xmlns="http://www.mytest.org">
<datas>
<data id="1">
<item>fsfdsfs</item>
</data>
<data id="2">
<item>fksfjkdsjfdks</item>
</data>
</datas>
</root>
===================

the code that modify the document is:
====================
static void RunXmlDoc()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"..\..\testxml.xml");

XmlElement elm = doc.CreateElement("PayPerference");

elm.InnerText = "cash";
XmlAttribute nsattr = null;

nsattr =
doc.CreateAttribute("xmlns","xsi","http://www.w3.org/2000/xmlns/");
nsattr.InnerText = "http://www.w3.org/2001/XMLSchema-instance";

elm.Attributes.Append(
nsattr
);

//
nsattr =
doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
nsattr.InnerText =
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";

elm.Attributes.Append(
nsattr
);
nsattr =
doc.CreateAttribute("xsi","type","http://www.w3.org/2001/XMLSchema-instance"
);
nsattr.InnerText = "a4:Customer+CustomerPayOptions";
elm.Attributes.Append(
nsattr
);

XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
manager.AddNamespace("ns1","http://www.mytest.org");

XmlElement datas = doc.SelectSingleNode("/ns1:root/ns1:datas",manager)
as XmlElement;

datas.AppendChild(elm);

Console.WriteLine(doc.OuterXml);

doc.Save("output.xml");

}
===========================

The output.xml will be something like;

========================
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.mytest.org">
<datas>
<data id="1">
<item>fsfdsfs</item>
</data>
<data id="2">
<item>fksfjkdsjfdks</item>
</data>
<PayPerference xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
%3Dnull" xsi:type="a4:Customer+CustomerPayOptions"
xmlns="">cash</PayPerference>
</datas>
</root>
============================

Also, you can find the the "PayPerference" element in the output has an
empty default namespace

xmlns=""

you can explicitly specify the default namespace by changing the
XmlElement's construction to below:

XmlElement elm =
doc.CreateElement("PayPerference","http://www.mycustomapp.com");

Hope helps. Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

--------------------
| From: "Paul" <pa*****@community.nospam>
| Subject: Add XmlNode
| Date: Wed, 26 Oct 2005 11:29:29 -0700
| Lines: 28
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <uh*************@TK2MSFTNGP15.phx.gbl>
| Newsgroups: microsoft.public.dotnet.xml
| NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP15.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9085
| X-Tomcat-NG: microsoft.public.dotnet.xml
|
| Here I have the definition of an XmlNode which is a property
(PayPreference)
| on my Customer class containing an enum describing how the customer will
| pay.
|
| <PayPerference xsi:type="a4:Customer+CustomerPayOptions"
|
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
%3Dnull">cash</PayPerference>
|
| I now want to add this XmlNode to a different Xml file where the Customer
| class has not defined a PayPreference property. I get as far as locating
| the parent XmlNode (Customer). Now I just need to add the XmlNode
defined
| above. To do this, I understand that I need to ask the XmlDocument to
| create the node first before I ask the Customer node to 'AppendChild'. I
| notice 3 overloads of CreateElement on the XmlDocument to do this:
|
| CreateElement(string name)
| CreateElement(string qualifiedName, string namespaceURI)
| CreateElement(string prefix, string localName, string namespaceURI)
|
| So now I'm stuck as to what I need to do now. Any help would be
| appreciated!
|
|
|
|
|
|
|
|
|

Nov 12 '05 #2
Hello Steven and thank you for your reply!!

Your solution worked well and it seems that
the part I was missing was that I needed to ask
the document to create the new XmlAttribute and not
the newly created node.

I do have a followup question. In your solution you hard-
code the namespace prefix 'a4' as follows:

doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
nsattr.InnerText =
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
But what if I don't know what the prefix is? It seems that I should ask the
document
to generate a new one for me if one doesn't already exist. But on
XmlDocument I only
see:

GetPrefixOfNamespace and
GetNamespaceOfPrefix

Paul

"Steven Cheng[MSFT]" <st*****@online.microsoft.com> wrote in message
news:z%******************@TK2MSFTNGXA01.phx.gbl...
Hi Paul,

Welcome to MSDN newsgroup.
Regarding the adding XmlNode into XmlDocument question you mentioned, we
can just use the XmlDocument.CreateElement to create a Element xml node
and
then locate the parent node where we want to append the new element. Then,
we can use the XmlElement(XmlNode) 's AppendChild method to add the new
element. Also, in your scenario, your element has some additional
namespace declaration attributes, we need to append them into the new
element or in the document also. here is a simple example on creating a
new
xmlelement and add into a existing xmldoument:

the original document is like:

=================
<?xml version="1.0" encoding="utf-8" ?>
<root xmlns="http://www.mytest.org">
<datas>
<data id="1">
<item>fsfdsfs</item>
</data>
<data id="2">
<item>fksfjkdsjfdks</item>
</data>
</datas>
</root>
===================

the code that modify the document is:
====================
static void RunXmlDoc()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"..\..\testxml.xml");

XmlElement elm = doc.CreateElement("PayPerference");

elm.InnerText = "cash";
XmlAttribute nsattr = null;

nsattr =
doc.CreateAttribute("xmlns","xsi","http://www.w3.org/2000/xmlns/");
nsattr.InnerText = "http://www.w3.org/2001/XMLSchema-instance";

elm.Attributes.Append(
nsattr
);

//
nsattr =
doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
nsattr.InnerText =
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";

elm.Attributes.Append(
nsattr
);
nsattr =
doc.CreateAttribute("xsi","type","http://www.w3.org/2001/XMLSchema-instance"
);
nsattr.InnerText = "a4:Customer+CustomerPayOptions";
elm.Attributes.Append(
nsattr
);

XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
manager.AddNamespace("ns1","http://www.mytest.org");

XmlElement datas = doc.SelectSingleNode("/ns1:root/ns1:datas",manager)
as XmlElement;

datas.AppendChild(elm);

Console.WriteLine(doc.OuterXml);

doc.Save("output.xml");

}
===========================

The output.xml will be something like;

========================
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.mytest.org">
<datas>
<data id="1">
<item>fsfdsfs</item>
</data>
<data id="2">
<item>fksfjkdsjfdks</item>
</data>
<PayPerference xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
%3Dnull" xsi:type="a4:Customer+CustomerPayOptions"
xmlns="">cash</PayPerference>
</datas>
</root>
============================

Also, you can find the the "PayPerference" element in the output has an
empty default namespace

xmlns=""

you can explicitly specify the default namespace by changing the
XmlElement's construction to below:

XmlElement elm =
doc.CreateElement("PayPerference","http://www.mycustomapp.com");

Hope helps. Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

--------------------
| From: "Paul" <pa*****@community.nospam>
| Subject: Add XmlNode
| Date: Wed, 26 Oct 2005 11:29:29 -0700
| Lines: 28
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <uh*************@TK2MSFTNGP15.phx.gbl>
| Newsgroups: microsoft.public.dotnet.xml
| NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP15.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9085
| X-Tomcat-NG: microsoft.public.dotnet.xml
|
| Here I have the definition of an XmlNode which is a property
(PayPreference)
| on my Customer class containing an enum describing how the customer will
| pay.
|
| <PayPerference xsi:type="a4:Customer+CustomerPayOptions"
|
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
%3Dnull">cash</PayPerference>
|
| I now want to add this XmlNode to a different Xml file where the
Customer
| class has not defined a PayPreference property. I get as far as
locating
| the parent XmlNode (Customer). Now I just need to add the XmlNode
defined
| above. To do this, I understand that I need to ask the XmlDocument to
| create the node first before I ask the Customer node to 'AppendChild'.
I
| notice 3 overloads of CreateElement on the XmlDocument to do this:
|
| CreateElement(string name)
| CreateElement(string qualifiedName, string namespaceURI)
| CreateElement(string prefix, string localName, string namespaceURI)
|
| So now I'm stuck as to what I need to do now. Any help would be
| appreciated!
|
|
|
|
|
|
|
|
|

Nov 12 '05 #3
Thanks for your response Paul,

As for namespace prefix, it doesn't matter much. Namespace prefix is just
like an alias of the actual Namespace URI, so we can choose discretionary
ones as we like. And prefix value won't make XML document different as
long as the Namespace URI is the same between multiple documents.
e.g.

the following xmlelement is identical to each other:
[1]
<ns0:hello xmlns:ns0="http://www.hello.org" >
<ns0:helloWorld>hello</ns0:helloWorld>
</ns0:hello>

[2]
<ns1:hello xmlns:ns1="http://www.hello.org">
<ns1:helloWorld>hello</ns1:helloWorld>
</ns1:hello>

though the namespace prefix is different( "ns0" and "ns1"), their actual
Namespace URI are the same. So they're identical.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

--------------------
| From: "Paul" <pa*****@community.nospam>
| References: <uh*************@TK2MSFTNGP15.phx.gbl>
<z#**************@TK2MSFTNGXA01.phx.gbl>
| Subject: Re: Add XmlNode
| Date: Thu, 27 Oct 2005 10:04:59 -0700
| Lines: 222
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <OY**************@TK2MSFTNGP10.phx.gbl>
| Newsgroups: microsoft.public.dotnet.xml
| NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9100
| X-Tomcat-NG: microsoft.public.dotnet.xml
|
| Hello Steven and thank you for your reply!!
|
| Your solution worked well and it seems that
| the part I was missing was that I needed to ask
| the document to create the new XmlAttribute and not
| the newly created node.
|
| I do have a followup question. In your solution you hard-
| code the namespace prefix 'a4' as follows:
|
| doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
| nsattr.InnerText =
|
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
|
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
|
|
| But what if I don't know what the prefix is? It seems that I should ask
the
| document
| to generate a new one for me if one doesn't already exist. But on
| XmlDocument I only
| see:
|
| GetPrefixOfNamespace and
| GetNamespaceOfPrefix
|
| Paul
|
|
|
| "Steven Cheng[MSFT]" <st*****@online.microsoft.com> wrote in message
| news:z%******************@TK2MSFTNGXA01.phx.gbl...
| > Hi Paul,
| >
| > Welcome to MSDN newsgroup.
| > Regarding the adding XmlNode into XmlDocument question you mentioned, we
| > can just use the XmlDocument.CreateElement to create a Element xml node
| > and
| > then locate the parent node where we want to append the new element.
Then,
| > we can use the XmlElement(XmlNode) 's AppendChild method to add the new
| > element. Also, in your scenario, your element has some additional
| > namespace declaration attributes, we need to append them into the new
| > element or in the document also. here is a simple example on creating a
| > new
| > xmlelement and add into a existing xmldoument:
| >
| > the original document is like:
| >
| > =================
| > <?xml version="1.0" encoding="utf-8" ?>
| > <root xmlns="http://www.mytest.org">
| > <datas>
| > <data id="1">
| > <item>fsfdsfs</item>
| > </data>
| > <data id="2">
| > <item>fksfjkdsjfdks</item>
| > </data>
| > </datas>
| > </root>
| > ===================
| >
| > the code that modify the document is:
| > ====================
| > static void RunXmlDoc()
| > {
| > XmlDocument doc = new XmlDocument();
| > doc.Load(@"..\..\testxml.xml");
| >
| > XmlElement elm = doc.CreateElement("PayPerference");
| >
| > elm.InnerText = "cash";
| >
| >
| > XmlAttribute nsattr = null;
| >
| > nsattr =
| > doc.CreateAttribute("xmlns","xsi","http://www.w3.org/2000/xmlns/");
| > nsattr.InnerText = "http://www.w3.org/2001/XMLSchema-instance";
| >
| > elm.Attributes.Append(
| > nsattr
| > );
| >
| > //
| > nsattr =
| > doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
| > nsattr.InnerText =
| >
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
| >
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
| >
| > elm.Attributes.Append(
| > nsattr
| > );
| >
| >
| > nsattr =
| >
doc.CreateAttribute("xsi","type","http://www.w3.org/2001/XMLSchema-instance"
| > );
| > nsattr.InnerText = "a4:Customer+CustomerPayOptions";
| > elm.Attributes.Append(
| > nsattr
| > );
| >
| > XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
| > manager.AddNamespace("ns1","http://www.mytest.org");
| >
| > XmlElement datas = doc.SelectSingleNode("/ns1:root/ns1:datas",manager)
| > as XmlElement;
| >
| > datas.AppendChild(elm);
| >
| >
| >
| > Console.WriteLine(doc.OuterXml);
| >
| > doc.Save("output.xml");
| >
| > }
| > ===========================
| >
| > The output.xml will be something like;
| >
| > ========================
| > <?xml version="1.0" encoding="utf-8"?>
| > <root xmlns="http://www.mytest.org">
| > <datas>
| > <data id="1">
| > <item>fsfdsfs</item>
| > </data>
| > <data id="2">
| > <item>fksfjkdsjfdks</item>
| > </data>
| > <PayPerference xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| >
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
| >
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
| > %3Dnull" xsi:type="a4:Customer+CustomerPayOptions"
| > xmlns="">cash</PayPerference>
| > </datas>
| > </root>
| > ============================
| >
| > Also, you can find the the "PayPerference" element in the output has an
| > empty default namespace
| >
| > xmlns=""
| >
| > you can explicitly specify the default namespace by changing the
| > XmlElement's construction to below:
| >
| > XmlElement elm =
| > doc.CreateElement("PayPerference","http://www.mycustomapp.com");
| >
| > Hope helps. Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| >
| > --------------------
| > | From: "Paul" <pa*****@community.nospam>
| > | Subject: Add XmlNode
| > | Date: Wed, 26 Oct 2005 11:29:29 -0700
| > | Lines: 28
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <uh*************@TK2MSFTNGP15.phx.gbl>
| > | Newsgroups: microsoft.public.dotnet.xml
| > | NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| > | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP15.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9085
| > | X-Tomcat-NG: microsoft.public.dotnet.xml
| > |
| > | Here I have the definition of an XmlNode which is a property
| > (PayPreference)
| > | on my Customer class containing an enum describing how the customer
will
| > | pay.
| > |
| > | <PayPerference xsi:type="a4:Customer+CustomerPayOptions"
| > |
| >
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
| >
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
| > %3Dnull">cash</PayPerference>
| > |
| > | I now want to add this XmlNode to a different Xml file where the
| > Customer
| > | class has not defined a PayPreference property. I get as far as
| > locating
| > | the parent XmlNode (Customer). Now I just need to add the XmlNode
| > defined
| > | above. To do this, I understand that I need to ask the XmlDocument to
| > | create the node first before I ask the Customer node to
'AppendChild'.
| > I
| > | notice 3 overloads of CreateElement on the XmlDocument to do this:
| > |
| > | CreateElement(string name)
| > | CreateElement(string qualifiedName, string namespaceURI)
| > | CreateElement(string prefix, string localName, string
namespaceURI)
| > |
| > | So now I'm stuck as to what I need to do now. Any help would be
| > | appreciated!
| > |
| > |
| > |
| > |
| > |
| > |
| > |
| > |
| > |
| >
|
|
|

Nov 12 '05 #4
Thanks again, Steven.

Based on your response, the approach I'm going to take is to generate the
prefixes myself which I've implemented and it appears to work.

Anyway, your help got me out of a corner, thank you.

Paul

"Steven Cheng[MSFT]" <st*****@online.microsoft.com> wrote in message
news:sp**************@TK2MSFTNGXA01.phx.gbl...
Thanks for your response Paul,

As for namespace prefix, it doesn't matter much. Namespace prefix is just
like an alias of the actual Namespace URI, so we can choose discretionary
ones as we like. And prefix value won't make XML document different as
long as the Namespace URI is the same between multiple documents.
e.g.

the following xmlelement is identical to each other:
[1]
<ns0:hello xmlns:ns0="http://www.hello.org" >
<ns0:helloWorld>hello</ns0:helloWorld>
</ns0:hello>

[2]
<ns1:hello xmlns:ns1="http://www.hello.org">
<ns1:helloWorld>hello</ns1:helloWorld>
</ns1:hello>

though the namespace prefix is different( "ns0" and "ns1"), their actual
Namespace URI are the same. So they're identical.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

--------------------
| From: "Paul" <pa*****@community.nospam>
| References: <uh*************@TK2MSFTNGP15.phx.gbl>
<z#**************@TK2MSFTNGXA01.phx.gbl>
| Subject: Re: Add XmlNode
| Date: Thu, 27 Oct 2005 10:04:59 -0700
| Lines: 222
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <OY**************@TK2MSFTNGP10.phx.gbl>
| Newsgroups: microsoft.public.dotnet.xml
| NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9100
| X-Tomcat-NG: microsoft.public.dotnet.xml
|
| Hello Steven and thank you for your reply!!
|
| Your solution worked well and it seems that
| the part I was missing was that I needed to ask
| the document to create the new XmlAttribute and not
| the newly created node.
|
| I do have a followup question. In your solution you hard-
| code the namespace prefix 'a4' as follows:
|
| doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
| nsattr.InnerText =
|
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
|
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
|
|
| But what if I don't know what the prefix is? It seems that I should ask
the
| document
| to generate a new one for me if one doesn't already exist. But on
| XmlDocument I only
| see:
|
| GetPrefixOfNamespace and
| GetNamespaceOfPrefix
|
| Paul
|
|
|
| "Steven Cheng[MSFT]" <st*****@online.microsoft.com> wrote in message
| news:z%******************@TK2MSFTNGXA01.phx.gbl...
| > Hi Paul,
| >
| > Welcome to MSDN newsgroup.
| > Regarding the adding XmlNode into XmlDocument question you mentioned,
we
| > can just use the XmlDocument.CreateElement to create a Element xml
node
| > and
| > then locate the parent node where we want to append the new element.
Then,
| > we can use the XmlElement(XmlNode) 's AppendChild method to add the
new
| > element. Also, in your scenario, your element has some additional
| > namespace declaration attributes, we need to append them into the new
| > element or in the document also. here is a simple example on creating
a
| > new
| > xmlelement and add into a existing xmldoument:
| >
| > the original document is like:
| >
| > =================
| > <?xml version="1.0" encoding="utf-8" ?>
| > <root xmlns="http://www.mytest.org">
| > <datas>
| > <data id="1">
| > <item>fsfdsfs</item>
| > </data>
| > <data id="2">
| > <item>fksfjkdsjfdks</item>
| > </data>
| > </datas>
| > </root>
| > ===================
| >
| > the code that modify the document is:
| > ====================
| > static void RunXmlDoc()
| > {
| > XmlDocument doc = new XmlDocument();
| > doc.Load(@"..\..\testxml.xml");
| >
| > XmlElement elm = doc.CreateElement("PayPerference");
| >
| > elm.InnerText = "cash";
| >
| >
| > XmlAttribute nsattr = null;
| >
| > nsattr =
| > doc.CreateAttribute("xmlns","xsi","http://www.w3.org/2000/xmlns/");
| > nsattr.InnerText = "http://www.w3.org/2001/XMLSchema-instance";
| >
| > elm.Attributes.Append(
| > nsattr
| > );
| >
| > //
| > nsattr =
| > doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
| > nsattr.InnerText =
| >
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
| >
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
| >
| > elm.Attributes.Append(
| > nsattr
| > );
| >
| >
| > nsattr =
| >
doc.CreateAttribute("xsi","type","http://www.w3.org/2001/XMLSchema-instance"
| > );
| > nsattr.InnerText = "a4:Customer+CustomerPayOptions";
| > elm.Attributes.Append(
| > nsattr
| > );
| >
| > XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
| > manager.AddNamespace("ns1","http://www.mytest.org");
| >
| > XmlElement datas = doc.SelectSingleNode("/ns1:root/ns1:datas",manager)
| > as XmlElement;
| >
| > datas.AppendChild(elm);
| >
| >
| >
| > Console.WriteLine(doc.OuterXml);
| >
| > doc.Save("output.xml");
| >
| > }
| > ===========================
| >
| > The output.xml will be something like;
| >
| > ========================
| > <?xml version="1.0" encoding="utf-8"?>
| > <root xmlns="http://www.mytest.org">
| > <datas>
| > <data id="1">
| > <item>fsfdsfs</item>
| > </data>
| > <data id="2">
| > <item>fksfjkdsjfdks</item>
| > </data>
| > <PayPerference
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| >
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
| >
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
| > %3Dnull" xsi:type="a4:Customer+CustomerPayOptions"
| > xmlns="">cash</PayPerference>
| > </datas>
| > </root>
| > ============================
| >
| > Also, you can find the the "PayPerference" element in the output has
an
| > empty default namespace
| >
| > xmlns=""
| >
| > you can explicitly specify the default namespace by changing the
| > XmlElement's construction to below:
| >
| > XmlElement elm =
| > doc.CreateElement("PayPerference","http://www.mycustomapp.com");
| >
| > Hope helps. Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| >
| > --------------------
| > | From: "Paul" <pa*****@community.nospam>
| > | Subject: Add XmlNode
| > | Date: Wed, 26 Oct 2005 11:29:29 -0700
| > | Lines: 28
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <uh*************@TK2MSFTNGP15.phx.gbl>
| > | Newsgroups: microsoft.public.dotnet.xml
| > | NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| > | Path:
TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP15.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9085
| > | X-Tomcat-NG: microsoft.public.dotnet.xml
| > |
| > | Here I have the definition of an XmlNode which is a property
| > (PayPreference)
| > | on my Customer class containing an enum describing how the customer
will
| > | pay.
| > |
| > | <PayPerference xsi:type="a4:Customer+CustomerPayOptions"
| > |
| >
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
| >
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
| > %3Dnull">cash</PayPerference>
| > |
| > | I now want to add this XmlNode to a different Xml file where the
| > Customer
| > | class has not defined a PayPreference property. I get as far as
| > locating
| > | the parent XmlNode (Customer). Now I just need to add the XmlNode
| > defined
| > | above. To do this, I understand that I need to ask the XmlDocument
to
| > | create the node first before I ask the Customer node to
'AppendChild'.
| > I
| > | notice 3 overloads of CreateElement on the XmlDocument to do this:
| > |
| > | CreateElement(string name)
| > | CreateElement(string qualifiedName, string namespaceURI)
| > | CreateElement(string prefix, string localName, string
namespaceURI)
| > |
| > | So now I'm stuck as to what I need to do now. Any help would be
| > | appreciated!
| > |
| > |
| > |
| > |
| > |
| > |
| > |
| > |
| > |
| >
|
|
|

Nov 12 '05 #5
You're welcome Paul.

Good luck!

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| From: "Paul" <pa*****@community.nospam>
| References: <uh*************@TK2MSFTNGP15.phx.gbl>
<z#**************@TK2MSFTNGXA01.phx.gbl>
<OY**************@TK2MSFTNGP10.phx.gbl>
<sp**************@TK2MSFTNGXA01.phx.gbl>
| Subject: Re: Add XmlNode
| Date: Fri, 28 Oct 2005 11:32:13 -0700
| Lines: 311
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <Oi**************@TK2MSFTNGP12.phx.gbl>
| Newsgroups: microsoft.public.dotnet.xml
| NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP12.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9111
| X-Tomcat-NG: microsoft.public.dotnet.xml
|
| Thanks again, Steven.
|
| Based on your response, the approach I'm going to take is to generate the
| prefixes myself which I've implemented and it appears to work.
|
| Anyway, your help got me out of a corner, thank you.
|
| Paul
|
| "Steven Cheng[MSFT]" <st*****@online.microsoft.com> wrote in message
| news:sp**************@TK2MSFTNGXA01.phx.gbl...
| > Thanks for your response Paul,
| >
| > As for namespace prefix, it doesn't matter much. Namespace prefix is
just
| > like an alias of the actual Namespace URI, so we can choose
discretionary
| > ones as we like. And prefix value won't make XML document different as
| > long as the Namespace URI is the same between multiple documents.
| > e.g.
| >
| > the following xmlelement is identical to each other:
| > [1]
| > <ns0:hello xmlns:ns0="http://www.hello.org" >
| > <ns0:helloWorld>hello</ns0:helloWorld>
| > </ns0:hello>
| >
| > [2]
| > <ns1:hello xmlns:ns1="http://www.hello.org">
| > <ns1:helloWorld>hello</ns1:helloWorld>
| > </ns1:hello>
| >
| > though the namespace prefix is different( "ns0" and "ns1"), their actual
| > Namespace URI are the same. So they're identical.
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| > --------------------
| > | From: "Paul" <pa*****@community.nospam>
| > | References: <uh*************@TK2MSFTNGP15.phx.gbl>
| > <z#**************@TK2MSFTNGXA01.phx.gbl>
| > | Subject: Re: Add XmlNode
| > | Date: Thu, 27 Oct 2005 10:04:59 -0700
| > | Lines: 222
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <OY**************@TK2MSFTNGP10.phx.gbl>
| > | Newsgroups: microsoft.public.dotnet.xml
| > | NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| > | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9100
| > | X-Tomcat-NG: microsoft.public.dotnet.xml
| > |
| > | Hello Steven and thank you for your reply!!
| > |
| > | Your solution worked well and it seems that
| > | the part I was missing was that I needed to ask
| > | the document to create the new XmlAttribute and not
| > | the newly created node.
| > |
| > | I do have a followup question. In your solution you hard-
| > | code the namespace prefix 'a4' as follows:
| > |
| > | doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
| > | nsattr.InnerText =
| > |
| >
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
| > |
| >
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
| > |
| > |
| > | But what if I don't know what the prefix is? It seems that I should
ask
| > the
| > | document
| > | to generate a new one for me if one doesn't already exist. But on
| > | XmlDocument I only
| > | see:
| > |
| > | GetPrefixOfNamespace and
| > | GetNamespaceOfPrefix
| > |
| > | Paul
| > |
| > |
| > |
| > | "Steven Cheng[MSFT]" <st*****@online.microsoft.com> wrote in message
| > | news:z%******************@TK2MSFTNGXA01.phx.gbl...
| > | > Hi Paul,
| > | >
| > | > Welcome to MSDN newsgroup.
| > | > Regarding the adding XmlNode into XmlDocument question you
mentioned,
| > we
| > | > can just use the XmlDocument.CreateElement to create a Element xml
| > node
| > | > and
| > | > then locate the parent node where we want to append the new element.
| > Then,
| > | > we can use the XmlElement(XmlNode) 's AppendChild method to add the
| > new
| > | > element. Also, in your scenario, your element has some additional
| > | > namespace declaration attributes, we need to append them into the
new
| > | > element or in the document also. here is a simple example on
creating
| > a
| > | > new
| > | > xmlelement and add into a existing xmldoument:
| > | >
| > | > the original document is like:
| > | >
| > | > =================
| > | > <?xml version="1.0" encoding="utf-8" ?>
| > | > <root xmlns="http://www.mytest.org">
| > | > <datas>
| > | > <data id="1">
| > | > <item>fsfdsfs</item>
| > | > </data>
| > | > <data id="2">
| > | > <item>fksfjkdsjfdks</item>
| > | > </data>
| > | > </datas>
| > | > </root>
| > | > ===================
| > | >
| > | > the code that modify the document is:
| > | > ====================
| > | > static void RunXmlDoc()
| > | > {
| > | > XmlDocument doc = new XmlDocument();
| > | > doc.Load(@"..\..\testxml.xml");
| > | >
| > | > XmlElement elm = doc.CreateElement("PayPerference");
| > | >
| > | > elm.InnerText = "cash";
| > | >
| > | >
| > | > XmlAttribute nsattr = null;
| > | >
| > | > nsattr =
| > | > doc.CreateAttribute("xmlns","xsi","http://www.w3.org/2000/xmlns/");
| > | > nsattr.InnerText = "http://www.w3.org/2001/XMLSchema-instance";
| > | >
| > | > elm.Attributes.Append(
| > | > nsattr
| > | > );
| > | >
| > | > //
| > | > nsattr =
| > | > doc.CreateAttribute("xmlns","a4","http://www.w3.org/2000/xmlns/");
| > | > nsattr.InnerText =
| > | >
| >
"http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage/OsfDomai
| > | >
| >
n%2C%20Version%3D1.0.0.1%2C%20Culture%3Dneutral%2C %20PublicKeyToken%3Dnull";
| > | >
| > | > elm.Attributes.Append(
| > | > nsattr
| > | > );
| > | >
| > | >
| > | > nsattr =
| > | >
| >
doc.CreateAttribute("xsi","type","http://www.w3.org/2001/XMLSchema-instance"
| > | > );
| > | > nsattr.InnerText = "a4:Customer+CustomerPayOptions";
| > | > elm.Attributes.Append(
| > | > nsattr
| > | > );
| > | >
| > | > XmlNamespaceManager manager = new
XmlNamespaceManager(doc.NameTable);
| > | > manager.AddNamespace("ns1","http://www.mytest.org");
| > | >
| > | > XmlElement datas =
doc.SelectSingleNode("/ns1:root/ns1:datas",manager)
| > | > as XmlElement;
| > | >
| > | > datas.AppendChild(elm);
| > | >
| > | >
| > | >
| > | > Console.WriteLine(doc.OuterXml);
| > | >
| > | > doc.Save("output.xml");
| > | >
| > | > }
| > | > ===========================
| > | >
| > | > The output.xml will be something like;
| > | >
| > | > ========================
| > | > <?xml version="1.0" encoding="utf-8"?>
| > | > <root xmlns="http://www.mytest.org">
| > | > <datas>
| > | > <data id="1">
| > | > <item>fsfdsfs</item>
| > | > </data>
| > | > <data id="2">
| > | > <item>fksfjkdsjfdks</item>
| > | > </data>
| > | > <PayPerference
| > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| > | >
| >
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
| > | >
| >
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
| > | > %3Dnull" xsi:type="a4:Customer+CustomerPayOptions"
| > | > xmlns="">cash</PayPerference>
| > | > </datas>
| > | > </root>
| > | > ============================
| > | >
| > | > Also, you can find the the "PayPerference" element in the output
has
| > an
| > | > empty default namespace
| > | >
| > | > xmlns=""
| > | >
| > | > you can explicitly specify the default namespace by changing the
| > | > XmlElement's construction to below:
| > | >
| > | > XmlElement elm =
| > | > doc.CreateElement("PayPerference","http://www.mycustomapp.com");
| > | >
| > | > Hope helps. Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | >
| > | >
| > | >
| > | > --------------------
| > | > | From: "Paul" <pa*****@community.nospam>
| > | > | Subject: Add XmlNode
| > | > | Date: Wed, 26 Oct 2005 11:29:29 -0700
| > | > | Lines: 28
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | X-RFC2646: Format=Flowed; Original
| > | > | Message-ID: <uh*************@TK2MSFTNGP15.phx.gbl>
| > | > | Newsgroups: microsoft.public.dotnet.xml
| > | > | NNTP-Posting-Host: 66.236.123.34.ptr.us.xo.net 66.236.123.34
| > | > | Path:
| > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP15.phx.gbl
| > | > | Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.dotnet.xml:9085
| > | > | X-Tomcat-NG: microsoft.public.dotnet.xml
| > | > |
| > | > | Here I have the definition of an XmlNode which is a property
| > | > (PayPreference)
| > | > | on my Customer class containing an enum describing how the
customer
| > will
| > | > | pay.
| > | > |
| > | > | <PayPerference xsi:type="a4:Customer+CustomerPayOptions"
| > | > |
| > | >
| >
xmlns:a4="http://schemas.microsoft.com/clr/nsassem/OsfDomain.Resources.Stage
| > | >
| >
/OsfDomain%2C%20Version%3D1.0.0.1%2C%20Culture%3Dne utral%2C%20PublicKeyToken
| > | > %3Dnull">cash</PayPerference>
| > | > |
| > | > | I now want to add this XmlNode to a different Xml file where the
| > | > Customer
| > | > | class has not defined a PayPreference property. I get as far as
| > | > locating
| > | > | the parent XmlNode (Customer). Now I just need to add the XmlNode
| > | > defined
| > | > | above. To do this, I understand that I need to ask the
XmlDocument
| > to
| > | > | create the node first before I ask the Customer node to
| > 'AppendChild'.
| > | > I
| > | > | notice 3 overloads of CreateElement on the XmlDocument to do this:
| > | > |
| > | > | CreateElement(string name)
| > | > | CreateElement(string qualifiedName, string namespaceURI)
| > | > | CreateElement(string prefix, string localName, string
| > namespaceURI)
| > | > |
| > | > | So now I'm stuck as to what I need to do now. Any help would be
| > | > | appreciated!
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|

Nov 12 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: JJ | last post by:
Hi All, I noticed that XmlNode and XpathNavigator are quite similiar. XmlNode seems to navigate over an XML Doc and so does XPathNav so when do I use XPathNavigator instead of XmlNode? ...
3
by: Mahesh Devjibhai Dhola | last post by:
Hi All, I want to make a custom class in c#, which extends System.Xml.XmlNode class of BCL. Now in custom class, I have implement abstract methods of XmlNode class also. Now when I am trying to...
1
by: andrej | last post by:
hi, ich habe eine anwendung, welche ein xml document erstellt. um festzustellen, ob ein element bereits vorhanden ist, verwende ich die funktion selectsinglenode( ....) diese funktion...
5
by: Mahesh Devjibhai Dhola | last post by:
Hi All, I want to make a custom class in c#, which extends System.Xml.XmlNode class of BCL. Now in custom class, I have implement abstract methods of XmlNode class also. Now when I am trying to...
3
by: Mae | last post by:
Dear All, I have a problem here, I'm using C# Webform calling a webservices. The webservices return me a XMLnode, using this XMLnode I want to convert it to dataset so I can bind to the...
1
by: PaulF | last post by:
I am writing a web service that accepts and returns an XML message - I know the issues behind this but want to be able to process the messages generically using XSD / XSLT. My problem occurs...
3
by: Earl | last post by:
In VB.Net, the following declaration builds and executes with no exceptions: Dim XMLDoc As New XmlDocument Dim Node As XmlNode But in C#, the following (equivalent?!) returns the build error...
5
by: =?Utf-8?B?VGhlIE1hbiBGcm9tIFNRTA==?= | last post by:
I'm having the darndest XML config file problem that I really need help with. I'm supporting a .NET 1.1 desktop application with its own config file, and I implement IConfigurationSectionHandler...
2
by: =?iso-8859-1?Q?Norbert_P=FCrringer?= | last post by:
Hello! Is it possible to use the object XMLNode as a parameter in an interface function of a WCF service? In my case I get the error message: XmlNode ProcessServiceRequest(XmlNode request);...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.