webservice 传输Xml文档时的XmlDocument会被直接转化成XmlNode 想要把它转回到XmlDocument采用如下变红的方法。

本分步指南介绍了如何在.net 应用程序中执行 Web 服务方法的采取了 如下 的参数或返回 如下 的对象的编写代码。

回到顶端

Introduction

如下 对象作为参数传递给 Web 服务方法,或从 Web 服务方法返回时, 它们被作为 XmlNode 对象封送。 如下XmlNode 类型是 System.Xml 命名空间 ( 如下XmlNode 派生的) 中实现的。

如果数据作为一个 XmlNode (即被传递给一个 Web 服务方法或 Web 服务方法返回) 封送的操作要求您使用的不由 XmlNode 类型公开如下 API,必须加载一个 如下 的对象中的该数据。若要执行此操作使用下列方法之一:
  • XmlDocument.LoadXml(XmlNode.OuterXml)
  • XmlDocument.ImportNode(XmlNode, true)
本文示例演示如何使用这些方法

回到顶端

Create a Web Method

  1. 在 Microsoft 可 Visual Studio 的.net 中创建一个新 Visual C#.net ASP.NET Web 服务项目。若要这样做,请按照下列步骤操作:
    1. 文件 菜单上单击 新建,然后单击 项目
    2. 项目类型 列表中单击 Visual C# 项目,然后单击 模板 窗格中的 ASP.NET Web 服务
  2. 位置 文本框中键入 XMLDocService 若要更改默认的名称 (默认名称是 WebService1)。
  3. 更改到 XMLDocService.asmx Service1.asmx 从创建的默认 Web 服务的名称。
  4. 单击以切换到代码视图设计器环境中的 单击此处以切换到代码视图
  5. 定义一个返回 XMLDocument 对象的方法。必须将该服务将公开的每个方法标记与 WebMethod 属性。没有此属性服务将不公开该方法。

    注意不是每个方法必须具有 WebMethod 属性。此属性可用于隐藏由公用 Web 服务方法调用某些实现细节或 WebService 类是否使用在本地应用程序中。虽然本地应用程序可以使用任何公共类,仅 WebMethod 方法可以是可远程访问作为 XML Web 服务。
  6. 将以下 Web 服务方法添加到您刚刚创建的 XMLDocService 类:
    [WebMethod]
    public XmlDocument GetXmlDocument()
    {
    // Create an XmlDocument object.
    XmlDocument xmlDocumentObject = new XmlDocument();
    XmlDocumentObject.LoadXml("" +
    "  Pride And Prejudice" +
    "  " +
    "    Jane" +
    "    Austen" +
    "  " +
    "  24.95" +
    ""); 
    
    // Return the created XmlDocument object.
    return( XmlDocumentObject );
    }
    [WebMethod]
    public string GetFirstName( XmlNode XmlNodePassed )
    {
    // Create a new XmLDocument object.
    XmlDocument XmlDocumentObject = new XmlDocument();
    
    // Load the XmlNode into the XmlDocument object.
    XmlDocumentObject.LoadXml( XmlNodePassed.OuterXml );
    
    // Find the first name of the author.
    XmlNodeList XmlNodeListObj = XmlDocumentObject.GetElementsByTagName( "first-name" );
    
    // Return the first name.
    return XmlNodeListObj[ 0 ].ChildNodes[ 0 ].Value;
    }
  7. 生成 菜单上单击 生成解决方案 生成 Web 服务。
  8. 打开要测试 XML Web 服务 XMLDocService.asmx XML Web 服务页。如果设置了本地计算机页的宿主 URL 将是 http://localhost/XMLDocService/XMLDocService.asmx。Microsoft ASP.NET 运行库返回 XML Web 服务帮助页描述 XML Web 服务。您还可以使用此页来测试不同的 XML Web 服务方法。

你可能感兴趣的:(C#)