我正在使用 C# 中的 XDocument 生成 XML。一切正常,除了我总是得到自动生成的字符串
XDocument doc = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement(aw+"ProviderUpdate",
//... more more here
)
);
return doc.ToString();
它总是返回如下内容:如何删除?
<string xmlns="urn:Microsoft.Search.Registration.Response">
<ProviderUpdate xmlns="urn:Microsoft.Search.Registration.Response">
...
</ProviderUpdate>
</string>
我期望是这样的:
<?xml version="1.0" encoding="utf-8"?>
<ProviderUpdate xmlns="urn:Microsoft.Search.Registration.Response">
...
</ProviderUpdate>
这是在我的文件顶部定义的:
[WebService(Namespace = "urn:Microsoft.Search.Registration.Response")]
但它除了将 xmlns 更改为正确的值外,什么也不做。
string
元素是从 Web 服务返回的值的容器。不能返回不在元素内的数据。
如果要从 Web 服务返回自己的 XML 代码,则不应使用内置框架来生成 Web 服务,而应使用 HTTP 处理程序,以便可以直接返回响应,而不是包装在预先确定的 SOAP 消息中。