微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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("<book genre=\"novel\" publicationdate=\"1997\" " +
    "      ISBN=\"1-861001-57-5\">" +
    "  <title>Pride And Prejudice</title>" +
    "  <author>" +
    "    <first-name>Jane</first-name>" +
    "    <last-name>Austen</last-name>" +
    "  </author>" +
    "  <price>24.95</price>" +
    "</book>"); 
    
    // 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 服务方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐