如何在Delphi中获取在asp.net webservice中生成的数据集
本文关键字:数据集 webservice asp Delphi 获取 net | 更新日期: 2023-09-27 18:13:43
我写了一个webservice
在asp.net中有选择函数,它的参数是一个字符串,返回一个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
中的数据源?任何想法?
数据集不是很好,作为不使用。net的客户端的webservice返回类型。您可以尝试在这里返回XML .
[WebMethod]
public string Select(string query)
{
// your code
return ds.GetXml();
}
这将给你下面的XMl Like
<NewDataSet>
<Table1>
<fname>mehdi</fname>
<lname>nine</lname>
</Table1>
<Table1>
<fname>ali</fname>
<lname>javan</lname>
</Table1>
</NewDataSet>
希望你能处理这个作为数据源使用。
如果你需要缩进的XML检查这个答案是什么是最简单的方法,从XmlDocument获得缩进的XML与换行符?