0

我在 asp.net 中写了一个webserviceselect 函数,它的参数是一个字符串,返回一个dataset像这样:

[WebMethod]
public DataSet Select(string query)
{
    DataTable dt = new DataTable();

    dt.Columns.Add("fname");
    dt.Columns.Add("lname");
    dt.Rows.Add("mehdi", "nine");
    dt.Rows.Add("ali", "javan");
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    return ds;
}

当我看到它的 xml 输入时,它是这样的:

<s:element name="Select">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="query" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SelectResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SelectResult">
<s:complexType>
<s:sequence>
<s:element ref="s:schema"/>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>

在 xml 文件中,我们可以看到它的输出是SelectResult. 如何将其转换为数据源delphi7?任何的想法?

4

1 回答 1

0

DaTaSet 不好作为不使用 .net 的客户端的 Web 服务返回类型。您可以尝试在此处重新调整 XML ..

[WebMethod]
public string Select(string query)
{
    // your code
    return ds.GetXml();
}

这将为您提供 XML 如下所示

<NewDataSet>
  <Table1>
    <fname>mehdi</fname>
    <lname>nine</lname>
  </Table1>
  <Table1>
    <fname>ali</fname>
    <lname>javan</lname>
  </Table1>
</NewDataSet>

希望您可以处理它以用作数据源。

如果您需要缩进 XML,请查看此答案从 XmlDocument 中获取带有换行符的缩进 XML 的最简单方法是什么?

于 2013-05-16T07:02:39.180 回答