472,117 Members | 2,667 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

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

Strange!! Unexpected end of file while parsing Name has occurred

Hi Group,

I am facing a strange problem here:
I am trying to read xml response from a servlet using XmlTextWriter.
I am able to read the read half of the xml and suddenly an exception:
“Unexpected end of file while parsing Name has occurred” isbeing
thrown.

Following is the part o xml I am trying to read:
<CHECK_ITEM_OUT>
<ITEM id="">
<!-- id = [material] -->
<ITM_NUMBER>1</ITM_NUMBER>
<MATERIAL>001</MATERIAL>
<DEALER_CODE>DEL_One</DEALER_CODE>
<BRAND>Bridgestone</BRAND>
<HIERARCHY>HAR001</HIERARCHY>
<NET_PRICE>123.12</NET_PRICE>
<CURRENCY>EURO</CURRENCY>
</ITEM>
<ITEM id="">
<!-- id = [material] -->
<ITM_NUMBER>2</ITM_NUMBER>
<MATERIAL>002</MATERIAL>
<DEALER_CODE>DEL_Two</DEALER_CODE>
<BRAND>Firestone</BRAND>
<HIERARCHY>HAR002</HIERARCHY>
<NET_PRICE>453.12</NET_PRICE>
<CURRENCY>EURO</CURRENCY>
</ITEM>
<ITEM id="">
<!-- id = [material] -->
<ITM_NUMBER>3</ITM_NUMBER>
<MATERIAL>003</MATERIAL>
<DEALER_CODE />
<BRAND>FIRESTONE</BRAND>
<HIERARCHY>HAR001</HIERARCHY>
<NET_PRICE>24.12</NET_PRICE>
<CURRENCY>EURO</CURRENCY>
</ITEM>
</CHECK_ITEM_OUT>

When I am trying to read the <BRAND>FIRESTONE</BRAND(In Third item
in the list), I am getting the “Unexpected end of file while parsing
Name has occurred” exception. I am able to read the values from
<BRANDelement for first two elements.
Following is the code I am using for reading the xml.

case "BRAND":
if (!xmlTextReader.IsEmptyElement)
productInfo.Brand =
xmlTextReader.ReadElementContentAsString();
break;

I also have searched net for this problem but I found nothing useful

Please let me know if I am doing something wrong or missing on
something.

Thanks,
Anup Daware

Feb 6 '07 #1
3 12897
Anup Daware <an*********@gmail.comwrote:

<snip>
I also have searched net for this problem but I found nothing useful?

Please let me know if I am doing something wrong or missing on
something.
Could you post a short but complete program which demonstrates the
problem?

See http://www.pobox.com/~skeet/csharp/complete.html for details of
what I mean by that.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Feb 6 '07 #2
Hi Group,

The problem is solved :)

Following lines were creating the problem:

StreamWriter streamWriter = new StreamWriter(responseStream);

streamWriter.Write(responseXml); //responseXml is a string

The the default buffer of StreamWriter is 4kb and the string
responseXml is more than that, thus only a portion of my xml was being
used by XmlTextWriter which is using responseStream: And that was the
reason of Unexpected end of file while parsing Name has occurred
exception.

Solution:
Rather than using the the StreamWriter, I directly used the
responseStream.Write; for this I converted the string to byte array.
Following is the code for it.

String responseXml = GetResponseStream(uri,
searchRequestXML);
System.Text.UTF8Encoding ob = new UTF8Encoding();
byte[] arr2 = ob.GetBytes(responseXml);
responseStream.Write(arr2,0,arr2.Length);
responseStream.Seek(0, SeekOrigin.Begin);
XmlTextReader xmlTextReader = new
XmlTextReader(responseStream)


Well the conclusion is StreamWriter has a default size of 4KB which is
not increased dynamically, and this is really unexpected.

Best Regards,
Anup Daware

On Feb 6, 4:40 pm, "Anup Daware" <anup.daw...@gmail.comwrote:
Hi Group,

I am facing a strange problem here:
I am trying to read xml response from a servlet using XmlTextWriter.
I am able to read the read half of the xml and suddenly an exception:
“Unexpected end of file while parsing Name has occurred” is being
thrown.

Following is the part o xml I am trying to read:
<CHECK_ITEM_OUT>
<ITEM id="">
<!-- id = [material] -->
<ITM_NUMBER>1</ITM_NUMBER>
<MATERIAL>001</MATERIAL>
<DEALER_CODE>DEL_One</DEALER_CODE>
<BRAND>Bridgestone</BRAND>
<HIERARCHY>HAR001</HIERARCHY>
<NET_PRICE>123.12</NET_PRICE>
<CURRENCY>EURO</CURRENCY>
</ITEM>
<ITEM id="">
<!-- id = [material] -->
<ITM_NUMBER>2</ITM_NUMBER>
<MATERIAL>002</MATERIAL>
<DEALER_CODE>DEL_Two</DEALER_CODE>
<BRAND>Firestone</BRAND>
<HIERARCHY>HAR002</HIERARCHY>
<NET_PRICE>453.12</NET_PRICE>
<CURRENCY>EURO</CURRENCY>
</ITEM>
<ITEM id="">
<!-- id = [material] -->
<ITM_NUMBER>3</ITM_NUMBER>
<MATERIAL>003</MATERIAL>
<DEALER_CODE />
<BRAND>FIRESTONE</BRAND>
<HIERARCHY>HAR001</HIERARCHY>
<NET_PRICE>24.12</NET_PRICE>
<CURRENCY>EURO</CURRENCY>
</ITEM>
</CHECK_ITEM_OUT>

When I am trying to read the <BRAND>FIRESTONE</BRAND(In Third item
in the list), I am getting the “Unexpected end of file while parsing
Name has occurred” exception. I am able to read the values from
<BRANDelement for first two elements.
Following is the code I am using for reading the xml.

case "BRAND":
if (!xmlTextReader.IsEmptyElement)
productInfo.Brand =
xmlTextReader.ReadElementContentAsString();
break;

I also have searched net for this problem but I found nothing useful

Please let me know if I am doing something wrong or missing on
something.

Thanks,
Anup Daware

Feb 7 '07 #3
Anup Daware <an*********@gmail.comwrote:

<snip>
Solution:

Rather than using the the StreamWriter, I directly used the
responseStream.Write; for this I converted the string to byte array.
Bad idea. Instead, you should still use StreamWriter, but make sure you
flush it (and/or close it, depending on the exact situation) when
you're finished.
Well the conclusion is StreamWriter has a default size of 4KB which is
not increased dynamically, and this is really unexpected.
No, you're just using it inappropriately.

If you could post full code using StreamWriter, it's probably very easy
to fix without having to manually convert to bytes.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Feb 7 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by BNM | last post: by
4 posts views Thread by Marian Jancar | last post: by
2 posts views Thread by Bruce Sam | last post: by
2 posts views Thread by Brian Henry | last post: by
1 post views Thread by Christoph Bisping | last post: by
4 posts views Thread by DjLethal | last post: by
reply views Thread by leo001 | last post: by

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.