自定义 XML 序列化哈希集中<string>条目的元素名称



我们真的可以在哈希集输出问题上使用一些帮助。我们有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 序列化属性修饰类,如下所示:

public class TN
{
    [XmlElement(ElementName="TN")]
    public string tnumber;
}

请参阅MSDN。

最新更新