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
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