Solved

Opening utf-16 xml files in Visual Studio 2005

Posted on 2009-05-20
6
670 Views
Last Modified: 2013-11-26
Hello,

If I edit the following xml file in Vistual Studio 2005 (File -> Open -> File...), it shows me nothing as the Error List tab contains the following error:
Error      1      Invalid token 'Text' at root level of document.      C:\Users\rich\Downloads\sample.xml      1      1      Miscellaneous Files

Here's the simple xml file.
<?xml version="1.0" encoding="utf-16"?>
<Report />

Changing the xml file to be utf-8 as follows:
<?xml version="1.0" encoding="utf-8"?>
<AssessmentReport />

allows VS to open the file correctly.

Why is this?  Please note that I am getting this xml file from a third party, so it's not really possible to change the utf-16 to utf-8 in practice.

-Rich
0
Comment
Question by:rdefuria
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24438062
I really don't understand why any XML needs any more than UTF-8 or ISO-8559-1 (1252) encoding.  I don't know of any way around this, other than changing the encoding.
0
 

Author Comment

by:rdefuria
ID: 24442079
Yeah, I agree... but the provider says that is the default output of whatever .NET process they are using to create the .xml.

I guess I am forced to keep editing / reading it with Notepad or Notepad++ instead of VS or MSIE...
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24446580
If they are using XSLT transformation, the default is to use UTF-16 encoding, but you can override that.
0
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

 

Author Comment

by:rdefuria
ID: 24446608
Oh, really?   Can you tell me how to have them override that?  That will suffice as a solution...
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 24446624
I used to have code for that, but it got lost somewhere...

But, I believe that it is something like this:

http://social.msdn.microsoft.com/forums/en-US/xmlandnetfx/thread/6db1a7a9-6c3a-46ff-a696-0f04d7afbef5

XslCompiledTransform xslt1 = new XslCompiledTransform();
            xslt1.Load(reader1);

            XPathDocument doc1 = new XPathDocument(new StringReader(source));

            StringBuilder sb1 = new StringBuilder();

            XmlWriterSettings settings = new XmlWriterSettings();
            settings.OmitXmlDeclaration = true;
            settings.Encoding = System.Text.Encoding.UTF8;
            XmlWriter xsltOutput1 = XmlWriter.Create(sb1,settings);

0
 

Author Closing Comment

by:rdefuria
ID: 31583557
Turns out they could change it from utf-16 to utf-8 using your suggestion.
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Browsing the questions asked to the Experts of this forum, you will be amazed to see how many times people are headaching about monster regular expressions (regex) to select that specific part of some HTML or XML file they want to extract. The examp…
Create a Windows 10 custom Image with custom task bar and custom start menu using XML for deployment.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
In this video, viewers will be given step by step instructions on adjusting mouse, pointer and cursor visibility in Microsoft Windows 10. The video seeks to educate those who are struggling with the new Windows 10 Graphical User Interface. Change Cu…

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question