XDocument 是前缀字符串

本文关键字:字符串 前缀 XDocument | 更新日期: 2023-09-27 18:35:28

我正在使用 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 更改为正确的值外,什么也不做。

XDocument 是前缀字符串

string 元素是从 Web 服务返回的值的容器。不能返回不在元素内的数据。

如果要从 Web 服务返回自己的 XML 代码,则不应使用内置框架来生成 Web 服务,而应使用 HTTP 处理程序,以便可以直接返回响应,而不是包装在预先确定的 SOAP 消息中。