【发布时间】:2012-09-25 23:57:55
【问题描述】:
我们真的可以在哈希集输出问题上使用一些帮助。除了一件事之外,我们让 HashSet Web 方法与 HashSet 完美配合。输出是一个 web 服务,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost/webservices">
<string>201210XXXX</string>
<string>201211XXXX</string>
</ArrayOfString>
这是完美的,除了客户要求输出的字符串行是“TN”和“/TN”标签行而不是字符串标签。认为这应该很容易并添加了我的额外课程,但我无法弄清楚如何做到这一点
HashSet<TN>;
我们构建了网络方法
[WebMethod]
public HashSet<string> GetFoneLines()
{
HashSet<string> hs = new HashSet<string>();
DataTable dt = new dal().GetPhoneLines();
foreach (DataRow dr in dt.Rows)
{
hs.Add(dr[0].ToString());
}
return hs;
}
并尝试扩展字符串类。学习字符串是密封的,我们只是尝试创建自己的类
public class TN
{
public string tnumber;
}
这一定很简单,但经过 48 小时敲定代码后,我看不出如何创建 TN 哈希而不是字符串哈希。
【问题讨论】:
-
XML 样本中没有 TN。
-
请给你的问题一个有意义的标题。
-
那么你在序列化的时候得到了什么?你必须通过你的网络方法返回一个 HashSet 吗?因为我非常怀疑带有 TN 元素的 ArrayOfString 是否会反序列化为 HashSet。不过可能是错的。
-
看起来您正在序列化
string[]而不是TN或TN[]。 TN 也绝对是一个坏名声。 -
我需要为 HashSet 添加一个类型,它的作用类似于字符串,但输出标签应为
201211xxxx
标签: c# web-services .net-3.5 deserialization webmethod