xsi:schemaLocation="" Missing xsi prefix

Hi im creating an xml document using the following code:


Private Sub CreateXMLFile(ByVal InvHeader As BusinessObjects.InvoiceHeader, ByVal Period As BusinessObjects.clsperiod, ByVal strFile As String)
Dim xmldoc As New System.Xml.XmlDocument
Dim xmlproc As System.Xml.XmlDeclaration
Dim xmlroot As System.Xml.XmlElement
Dim xmlroot As System.Xml.XmlElement
Dim xmlParent As System.Xml.XmlElement
Dim xmlchild As System.Xml.XmlElement
Dim xmlAttri As System.Xml.XmlAttribute
Dim xmlCom As System.Xml.XmlComment
Dim xmlOutputfile As New System.Xml.XmlTextWriter(strFile, System.Text.Encoding.UTF8)
Dim objInvDet As New BusinessObjects.InvoiceDetail
Dim objCustomer As New BusinessObjects.Customer
Dim intInvoiceNumber As Integer

'Get all the Invoice Detail records
If InvHeader.InvoiceDetails.HasPopulated = False Then
InvHeader.InvoiceDetails.Populate(InvHeader.InvoiceHeaderID)
End If

objCustomer.Populate(InvHeader.CustomerID)
intInvoiceNumber = 0

'Add an XML processing instruction. The Version and Encoding etc
xmlproc = xmldoc.CreateXmlDeclaration("1.0", "", "")
xmldoc.AppendChild(xmlproc)

'Add Comment to Document.
xmlCom = xmldoc.CreateComment("DOCTYPE feed (View Source for full doctype...)")
xmldoc.AppendChild(xmlCom)

'Add root nodes with Attribtes
xmlroot = xmldoc.CreateElement("feed")

xmlAttri = xmldoc.CreateAttribute("xmlns")
xmlAttri.Value = "http://www.TEST.info"
xmlroot.Attributes.Append(xmlAttri)

xmlAttri = xmldoc.CreateAttribute("xmlns:xsi")
xmlAttri.Value = "http://www.w3.org/2001/XMLSchema-instance"
xmlroot.Attributes.Append(xmlAttri)

xmlAttri = xmldoc.CreateAttribute("xsi:schemaLocation")
xmlAttri.Value = "P:\TEST\TEST.xsd"
xmlroot.Attributes.Append(xmlAttri)

'Create Header notes with File Header information
xmlchild = xmldoc.CreateElement("Order_id")
xmlchild.InnerText = InvHeader.InvoiceNumber
xmlroot.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("number_of_invoices")
xmlchild.InnerText = InvHeader.InvoiceDetails.Count
xmlroot.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("total_of_invoices")
xmlchild.InnerText = InvHeader.InvoiceDetails.TotalAmountIncVAT.ToString("00.00")
xmlroot.AppendChild(xmlchild)

'Write Invoice nodes
For Each objInvDet In InvHeader.InvoiceDetails

intInvoiceNumber = intInvoiceNumber + 1

xmlParent = xmldoc.CreateElement("invoice")

xmlchild = xmldoc.CreateElement("Ref")
xmlchild.InnerText = objCustomer.Ref
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("Customer_name")
xmlchild.InnerText = objCustomer.NAME
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("period")
xmlchild.InnerText = Period.Date1.Year.ToString("0000") & "-" & Period.Date1.Month.ToString("00") & "-" & Period.Date1.Day.ToString("00")
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("invoice_number")
xmlchild.InnerText = intInvoiceNumber.ToString("00000000")
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("invoice_date")
xmlchild.InnerText = InvHeader.InvoiceDate.Year.ToString("0000") & "-" & InvHeader.InvoiceDate.Month.ToString("00") & "-" & InvHeader.InvoiceDate.Day.ToString("00")
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("invoice_gross")
xmlchild.InnerText = objInvDet.Amount.ToString("00.00")
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("invoice_vat")
xmlchild.InnerText = objInvDet.VATAmount.ToString("00.00")
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("invoice_net")
xmlchild.InnerText = (objInvDet.Amount + objInvDet.VATAmount).ToString("00.00")
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("Agent_ref")
xmlchild.InnerText = objInvDet.InvoiceDetailID
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("cost_centre")
xmlchild.InnerText = objInvDet.CostCentre
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("Code")
xmlchild.InnerText = objInvDet.Code
xmlParent.AppendChild(xmlchild)

xmlchild = xmldoc.CreateElement("source_code")
xmlchild.InnerText = objInvDet.SourceCode
xmlParent.AppendChild(xmlchild)

xmlroot.AppendChild(xmlParent)

Next objInvDet

xmldoc.AppendChild(xmlroot)

'Write File
xmldoc.WriteTo(xmlOutputfile)
xmlOutputfile.Close()

End Sub


The XML produced seems to take the xsi of the xsi:schemaLocation so i only get schemaLocation="blah" any ideas??