【发布时间】:2017-06-01 16:11:35
【问题描述】:
我有一门课——比如地方
public class Place{
public int id;
public string name;
public string slug;
}
还有从 Place 类派生的其他类,如 City、State、Country。
我得到一个这样的 XML 字符串,其中包含城市数组
<cities>
<City>
<name>
<![CDATA[Mumbai]]>
</name>
<slug>
<![CDATA[mumbai]]>
</slug>
</City>
<City>
<name>
<![CDATA[Thane]]>
</name>
<slug>
<![CDATA[thane]]>
</slug>
</City>
</cities>
我在 city 数组中反序列化这个字符串并发送到 Angular UI。
在前端,没有使用 id 字段。但由于它是类的一部分,空/空 id 字段也被反序列化。 我可以从类中删除 id 字段,但它用于其他函数,所以我不能这样做。 我不想使用 XmlIgnore 属性,因为有人可能已经在其他函数中使用了该字段。
我的问题是,有没有办法在转发之前删除 id 字段?
return Serializer.DeserializeXml<Cities>(_strCities);
【问题讨论】:
-
你用什么序列化器?
-
XmlSerializer by .net 使用 System.Xml.Serialization。
-
但它不应该忽略其他函数中可能被反序列化但仍然需要的字段。
-
那this one呢?