Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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/4/jquery-ui/2.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
C# 如何从ASPX页面返回XML_C# - Fatal编程技术网

C# 如何从ASPX页面返回XML

C# 如何从ASPX页面返回XML,c#,C#,我有一个对象,希望将其转换为XML,并以原始格式显示在页面上 所需输出 <Response> <ResponseCode>100</ResponseCode> <ResponseDescription>Test</ResponseDescription> </Reponse> 结果就是这样 100测试 我应该怎么做才能获得所需的输出。我猜浏览器只是忽略了XML标记。 请尝试以下方法: Response.Write (S

我有一个对象,希望将其转换为XML,并以原始格式显示在页面上

所需输出

<Response>
 <ResponseCode>100</ResponseCode>
 <ResponseDescription>Test</ResponseDescription>
</Reponse>
结果就是这样

100测试


我应该怎么做才能获得所需的输出。

我猜浏览器只是忽略了XML标记。 请尝试以下方法:

Response.Write (Server.HTMLEncode(xmlString));
关于HTMLEncode方法


settings.OmitXmlDeclaration=true
应该删除
实际问题是,您将XML输出为HTML,导致浏览器将响应视为“”,并尝试将其呈现为HTML文档

这将隐藏所有标记及其属性,并且仅呈现标记内部和标记之间的文本

这不是HTML,而是XML。因此,实际的解决方案是设置适当的内容类型,指示您实际从以下位置返回XML:

此外,你是一个好朋友。来自和:

如果ConformanceLevel设置为Document,则始终编写XML声明,即使OmitXmlDeclaration设置为true

如果ConformanceLevel设置为Fragment,则永远不会编写XML声明


因此,只需将
settings.ConformanceLevel
设置为
ConformanceLevel.Fragment
。请注意,从技术上讲,您不再编写XML文档,但这种要求在互操作性中很常见。

Mmm。。您可能正在使用一些工具查看响应?这个工具是否已经只提供了一个XML字符串值?尝试搜索原始响应(响应本身)我猜浏览器只是忽略了xml标记。尝试
Response.Write(Server.HTMLEncode(xmlString))取而代之。输出是一个正确的XML,但您看到的是呈现的text.is响应?你可能需要考虑编码/解码,你似乎有一个对象,它的名称是“代码>响应< /代码>,一个静态的名称是“代码>响应< /代码>?”就是这样:)。但是它有xml头(
当要求编写xml时,您通常不想对输出进行“HTML编码”…您能看看我的一个关于xml响应的答案吗?嗯,这是一个比我的更好的答案。+1。
Response.Write (Server.HTMLEncode(xmlString));
XDocument xdoc = XDocument.Parse(xmlString);
xdoc.Declaration = null;
Response.Write (Server.HTMLEncode(xdoc.ToString()));
Response.ContentType = "application/xml";