从WebService中删除命名空间

时间:2010-02-15 10:53:10

标签: xml web-services xml-namespaces

我有一个从flex调用的.Net Web服务。我们的程序员在调用Web服务函数时收到以下xml:

<FunctionName xmlns="WSNamespace" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FunctionName>Xml itself</FunctionName>

他希望得到所有相同的东西,但没有命名空间,因为我们不需要它们。如何在.Net部分完成?

1 个答案:

答案 0 :(得分:1)

使用

[WebService(Namespace = "")]

如果您不需要名称空间。但这不是首选方式。相反,您可以使用XmlNamespaceDeclaration来获取完全限定的命名空间。喜欢这个

[XmlNamespaceDeclarations]
public XmlSerializerNamespaces xmlns
{
   get
   {
      XmlSerializerNamespaces xsn = new XmlSerializerNamespaces();
      xsn.Add("me", "http://anamespace/");
      return xsn;
   }

   set 
   {
      // needed for serialization 
   }
}

查看更多信息: http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlnamespacedeclarationsattribute.aspx