Ric*_*iwi 25 .net xml web-services xml-1.1 .net-4.5
这是在Web服务(客户端)的上下文中.我需要与后端系统(Java)连接,并且需要在和范围内传输一些控制字符.
我很清楚XML 1.0不支持这一点,但我很想知道.NET 4平台或.NET 4.5 Web服务框架是否支持XML 1.1中的对话.
Jon*_*eet 31
不,它看起来不像XmlReader(.NET中大部分XML支持的核心)支持1.1:
using System;
using System.IO;
using System.Xml;
class Program
{
static void Main(string[] args)
{
string xml = "<?xml version=\"1.1\" ?><tag></tag>";
var reader = XmlReader.Create(new StringReader(xml));
while (reader.Read());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Unhandled Exception: System.Xml.XmlException: Version number '1.1' is invalid.
Line 1, position 16.
Run Code Online (Sandbox Code Playgroud)
我看了XmlReaderSettings看是否有任何帮助,但我认为没有.基本上我认为你现在被困住了:(
编辑:阅读XML 1.1,看起来它没有被广泛部署或推荐,所以我并不特别感到惊讶,它在.NET 4.5中不受支持.我的猜测是它永远不会,因为它不是一个特别新的推荐.最新版本是第二版,可以追溯到2006年.如果它在7年后不被支持,我怀疑必须有一些重要的事件,以使其在未来值得支持.
I4V*_*I4V 10
我相信这不是最好的选择但是如果你下载了IKVM,你可以在引用一些程序集之后在你的.Net代码中使用java类(真的.Net代码:))
var fXmlFile = new java.io.File(xmlfile);
var dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
var dBuilder = dbFactory.newDocumentBuilder();
var doc = dBuilder.parse(fXmlFile);
var nList = doc.getElementsByTagName("controlcharacters");
var chars = nList.item(0).getTextContent().ToCharArray();
Run Code Online (Sandbox Code Playgroud)
XML文件:
<?xml version="1.1" ?>
<root>
<controlcharacters></controlcharacters>
</root>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3673 次 |
| 最近记录: |