loading an xml document from file vs. memory stream

J

John Hopper

Hello,

I need to read am xml node using an xmlNodeReader and selectSingleNode. This
works fine when I save the file first and then use xmlDocument.load(uri),
with the uri the location of the saved xml file. But when I try to load the
xml document by passing the xmlDocument.load method a memory stream I get
"root element is missing". When I convert the stream to a string using

Dim theEncoding As New System.Text.UTF8Encoding
Dim str As String = theEncoding.GetString(ms.GetBuffer)

the xml looks like this: (Removed text was not removed in the snippet)

<?xml version="1.0"?>
<Administrative xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.removed/XMLSchemas/removed/schema.xsd">
<CourtCode>1111</CourtCode>
<ReportYear>2005</ReportYear>
<ReportQuarter>3</ReportQuarter>
<PreparerName>asdf</PreparerName>
<PreparerPhone>3333</PreparerPhone>
<Clerk>false</Clerk>
</Administrative>

and this is the same as in the saved xml file that loads fine:

"<Administrative>
<CourtCode>8888</CourtCode>
<Password>password</Password>
<ReportYear>2005</ReportYear>
<ReportQuarter>4</ReportQuarter>
<PreparerName>asdf</PreparerName>
<PreparerPhone>4444444444</PreparerPhone>
<Clerk>false</Clerk>
</Administrative>"

except for the namespace attributes. So the presence of those, which results
from loading the xml document from a memory stream rather than from a saved
file, seems to cause the "root element missing" exception to be thrown.

How can I prevent the namespace attributes from appearing and causing this
problem? Or is the a better way to load the file for node reading without
first saving it?

Thank you,

John Hopper
 
J

John Hopper

When I try:

Dim buf As Byte() = System.Text.UTF8Encoding.UTF8.GetBytes(oReport.OuterXml)
Dim ms As New MemoryStream(buf)
Dim myXmlDataDoc As XmlDataDocument = New XmlDataDocument
myXmlDataDoc.Load(ms)

I get

Object reference not set to an instance of an object.
 
J

John H W

John, I don't have experience using XmlDataDocument, but am a long-time
programmer who uses a form of XML loading menus, etc. What I see is that
<Administrative> is missing from the first snippet and not the second. I
would think that this would cause the "root missing" error.

John H W
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top