DataSet.XmlReader hangs when & is in string within XML file

G

Guest

I am trying to create a dataset from an XML file. When calling
myDataSet.ReadXml("sample.xml") the code produces an exception error. The
XML file has many strings that identify pnp ids on a system. These string
values contain multiple "&" signs within them (e.g.
<pnpid>PCI\VEN_1000&DEV_8000&SUDEV_1008<\pnpid>). How can I correctly read
these pnp ids into a dataset?

I've tried using ReadXml with various stream readers(StreamReader or
TextReader) but they cause the same error.
 
M

Marc Gravell

Well, the data simply isn't XML. Rather than trying to "fix" the reader
*correctly* telling you this, I'd fix whatever is writing the invalid
"XML" files. It should read:
<pnpid>PCI\VEN_1000&amp;DEV_8000&amp;SUDEV_1008<\pnpid>

Which is read as an element "pnpid" with text content
"PCI\VEN_1000&DEV_8000&SUDEV_1008"

This is often caused by people using string concatenation to write
"xml", instead of (e.g.) XmlWriter (which would have dealt with this
automatically).

Marc
 
M

Marc Gravell

Eeks it gets worse: I didn't spot it first time: the trailing slash is
in the wrong direction too!!!!

<pnpid>PCI\VEN_1000&amp;DEV_8000&amp;SUDEV_1008</pnpid>

Marc
 
G

Guest

This makes a lot of sense. I changed my sample file to & and it worked just
fine. I will be creating the "writer" as well so this will be taken into
account. Thanks very much.
 
K

Kevin Yu [MSFT]

Hi Steve,

Yes, as Marc said, the & char is a reserved word in XML. So it will be
better to use an XmlWriter or XmlDocument to generate XML files. They will
automatically escape the reserved words for you.

Kevin Yu
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================

(This posting is provided "AS IS", with no warranties, and confers no
rights.)
 

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

Top