首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML输出错误编码格式

XML输出错误编码格式
EN

Stack Overflow用户
提问于 2016-06-06 08:10:21
回答 1查看 109关注 0票数 1

我正在获取一个XML提要并获取错误的字符编码(我认为)。

XML附带了斯堪的纳维亚字母,例如“†”,输出没有显示这些字母,而是显示为“”等等。

我使用XDocument解析following,并给它以下声明:

代码语言:javascript
复制
xDocument.Declaration = new XDeclaration("1.0", "utf-8", null);

当我在我的视图中输出XML时,我尝试过CultureInfo.InvariantCulture和Html.Raw等等,但是似乎没有什么效果。

希望你能帮上忙。

提前谢谢。

代码:

EventArchiveViewModel:

代码语言:javascript
复制
public IEnumerable<EventItemViewModel> EventItems
{
    get
    {
        var list = new List<EventItemViewModel>();
        var webClient = new WebClient();
        var xmlString = webClient.DownloadString(EventArchiveModel.XmlFeedUrl);
        var xDocument = XDocument.Parse(xmlString);
        xDocument.Declaration = new XDeclaration("1.0", "utf-8", null);
        foreach (var item in xDocument.Elements().Descendants("event")) {
            list.Add(new EventItemViewModel(new EventItemModel(item)));
        }
        return list;
    }
}

下面是EventItemModel中的一个属性:

代码语言:javascript
复制
public string Name
{
    get
    {
        return XmlElement.Descendants("name").FirstOrDefault().Value;
    }
}

以下是视图的一部分:

代码语言:javascript
复制
<div class="large-2 medium-6 columns">
   <p class="text-headline_block">
      @item.Name
   </p>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-06 08:44:29

问题是你的下载。每一个医生们都是WebClient的默认编码,不管Encoding.Default返回什么。

将其更改为Encoding.UTF8,您的字符串应该被正确解码。注意,没有必要对XML声明做任何事情,这与此无关。

代码语言:javascript
复制
var webClient = new WebClient
{
    Encoding = Encoding.UTF8
};

var xmlString = webClient.DownloadString(EventArchiveModel.XmlFeedUrl);

var doc XDocument.Parse(xmlString);

foreach (var item in doc.Descendants("event")) 
{
   // ...
}

还可以通过直接将流加载到DOM中来删除下载字符串的步骤:

代码语言:javascript
复制
using (var stream = webClient.OpenRead(EventArchiveModel.XmlFeedUrl))
{
    var doc = XDocument.Load(stream);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37652452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档