Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET4.5是否支持XML1.1(对于XML1.0中无效的字符)?_.net_Xml_Web Services_.net 4.5_Xml 1.1 - Fatal编程技术网

.NET4.5是否支持XML1.1(对于XML1.0中无效的字符)?

.NET4.5是否支持XML1.1(对于XML1.0中无效的字符)?,.net,xml,web-services,.net-4.5,xml-1.1,.net,Xml,Web Services,.net 4.5,Xml 1.1,这是在Web服务(客户端)的上下文中进行的。 我需要与后端系统(Java)接口,并且需要在中传输一些控制字符和范围 我很清楚XML 1.0不支持这一点,但我想知道.NET 4平台或.NET 4.5 web服务框架是否支持XML 1.1中的对话。不,它看起来不像XmlReader(在.NET中支持XML的大部分核心)支持1.1: 使用系统; 使用System.IO; 使用System.Xml; 班级计划 { 静态void Main(字符串[]参数) { 字符串xml=“”;

这是在Web服务(客户端)的上下文中进行的。 我需要与后端系统(Java)接口,并且需要在
中传输一些控制字符
范围


我很清楚XML 1.0不支持这一点,但我想知道.NET 4平台或.NET 4.5 web服务框架是否支持XML 1.1中的对话。

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

使用系统;
使用System.IO;
使用System.Xml;
班级计划
{
静态void Main(字符串[]参数)
{
字符串xml=“”;
var reader=XmlReader.Create(新的StringReader(xml));
while(reader.Read());
}
}
输出:

Unhandled Exception: System.Xml.XmlException: Version number '1.1' is invalid.
Line 1, position 16.
我已经看过了,看看有没有什么可以帮上忙的,但我认为没有。基本上,我认为你现在陷入了困境:(


编辑:稍微阅读一下XML 1.1,它似乎没有得到广泛的部署或推荐,因此我对.NET 4.5不支持它并不感到特别惊讶。我猜它永远不会得到支持,因为它不是一个特别新的推荐。最新的版本是可以追溯到2006年的。如果7年后它不受支持,我怀疑将来一定会有一些重大事件值得支持。

我确信这不是最好的选择,但如果下载,可以在引用一些程序集(实际上是.Net代码:)后在.Net代码中使用java类

var fXmlFile=newjava.io.File(xmlfile);
var dbFactory=javax.xml.parsers.DocumentBuilderFactory.newInstance();
var dBuilder=dbFactory.newDocumentBuilder();
var doc=dBuilder.parse(fXmlFile);
var nList=doc.getElementsByTagName(“控制字符”);
var chars=nList.item(0.getTextContent().ToCharray();
XML文件:

<?xml version="1.1" ?>
<root>
    <controlcharacters>&#14;&#15;</controlcharacters>
</root>



非常有趣的Java桥接。但这如何转化为WebService API调用呢?与C类不同,我不能仅仅用指向Java的指针覆盖.Net类(XMLWriter/XMLReader)equivalents@RichardTheKiwi当然,您必须在c#中使用它们的java对应项(javax.xml.parsers),如上所述。我不是一个java程序员,我根据我在互联网上找到的第一个示例改编(并测试)了上面的代码。但是我想,使用Web服务的简单java客户端也可以很容易地使用。@RichardTheKiwi作为旁注:使用IKVM不需要在客户端机器上安装任何java。与引用第三方Dll没有什么不同。所以我不会说
桥接到Java
。更像是Java库的.Net实现。为什么不使用呢?因为“任何东西都在这里”仍然限制在XML支持的字符范围内。检查你的事实。