Solved

Opening utf-16 xml files in Visual Studio 2005

Posted on 2009-05-20
6
663 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
  • 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
XML XSL Message 3 22
application restarter  - for an exe that hangs 9 27
Regular expression help 2 25
Powershell script to zip up xml files in a directory 13 15
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

803 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