How to create XSD file dynamically based on XML file?

How can I create XSD file based on the XML file programatically using asp.net (C# / VB.Net)?

I know the command line utilities xsdinference tool to do the same.

But i WOULD like to do the same dynamically through my code.

<sample>
<title>Mr.</title>
<forename>Wayne</forename>
<surname>Feraera</feraera>
<Address1>Canb</Address1>
<Address2>Australia</Address2>
</sample>
Wayne29Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Wayne29Author Commented:
It's Ok Guys. I got it.
Please find the answer as below.
Thanks.

' Create XmlReader to pass as argument.
        Dim xtr As New XmlTextReader(Server.MapPath(".") + "\XMLFile1.xml")

        ' Create the XmlSchemaCollection that the inferred schema is
        ' added to.
        Dim xsc As New XmlSchemaCollection


        ' Create Infer object.
        Dim objInfer As New Infer

        ' Infer schema
        xsc = objInfer.InferSchema(xtr)
        Dim st As New System.Text.StringBuilder

        Dim xs As XmlSchema
        For Each xs In xsc
            Dim writer = New StringWriter
            xs.Write(writer)
            st.Append(writer.ToString())

            Dim xsi As XmlSchemaImport
            For Each xsi In xs.Includes
                Dim strWriter = New StringWriter
                xs.Write(strWriter)
                st.Append(strWriter.ToString())
            Next xsi
        Next xs


        Dim x As String = st.ToString()
        Dim y As New StreamWriter(Server.MapPath(".") + "\NewSchema2.xsd")
        y.Write(x)
        y.Close()
0
EE_AutoDeleterCommented:
Wayne29,
Because you have presented a solution to your own problem which may be helpful to future searches, this question is now PAQed and your points have been refunded.

EE_AutoDeleter
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.