Dot-Net

.Net 4.5 是否支持 XML 1.1(對於 XML 1.0 中無效的字元)?

  • June 21, 2013

這是在 Web 服務(客戶端)的上下文中。我需要與後端系統 (Java) 互動,並且需要在and範圍內傳輸一些控製字元。

我很清楚 XML 1.0 不支持這一點,但我很想知道 .NET 4 平台或 .NET 4.5 Web 服務框架是否支持 XML 1.1 中的對話。

不,它看起來不XmlReader支持 1.1(.NET 中大部分 XML 支持的核心):

using System;
using System.IO;
using System.Xml;

class Program
{
   static void Main(string[] args)
   {
       string xml = "<?xml version=\"1.1\" ?><tag>&#x1</tag>";
       var reader = XmlReader.Create(new StringReader(xml));
       while (reader.Read());
   }
}

輸出:

Unhandled Exception: System.Xml.XmlException: Version number '1.1' is invalid.
Line 1, position 16.

我已經查看了XmlReaderSettings是否有任何幫助,但我認為它沒有。基本上我認為你暫時被困住了:(

編輯:稍微閱讀一下 XML 1.1,看起來它並沒有被廣泛部署或推薦,所以我對 .NET 4.5 不支持它並不感到特別驚訝。我的猜測是它永遠不會,因為它不是一個特別新的建議。最新版本是可以追溯到 2006 年的第二版。如果 7 年後仍不支持,我懷疑將來必須有一些重大事件才能使其值得支持。

引用自:https://stackoverflow.com/questions/17231675