.net 从XML中删除重复的节点
我有一个表示发票的复杂XML 我需要使用.NET Core和.net 从XML中删除重复的节点,.net,xml,core,.net,Xml,Core,我有一个表示发票的复杂XML 我需要使用.NET Core和XmlSerializer生成如下XML结构: <DetalleServicio> <LineaDetalle> ALL MY VALUES HERE </LineaDetalle> <LineaDetalle> MY VALUES HERE </LineaDetalle> </DetalleServicio> 及 我怎样才能解决这
XmlSerializer
生成如下XML结构:
<DetalleServicio>
<LineaDetalle>
ALL MY VALUES HERE
</LineaDetalle>
<LineaDetalle>
MY VALUES HERE
</LineaDetalle>
</DetalleServicio>
及
我怎样才能解决这个问题?我尝试使用XmlDocument
删除父
节点,但它抛出了一个“cs0…”错误
谢谢。我找到了答案: 因为我正在使用
public List<LineaDetalle> LineaDetalle { get; set; }
公共列表LineaDetalle{get;set;}
及
LineaDetalle=新列表()
{
新LineaDetalle()
{}
新LineaDetalle()
{}
}
使用xmlserialize时,它会导致有两级层次结构来表示列表
集合。您有
标签,然后您有一个
标签来标记集合中的每个细节
因此,要使用XmlSerializer消除标记,只需使用XmlElementAttribute更新LineadeCalle成员,该属性指定要为每个项使用的名称
比如说
[XmlElement("LineaDetalle")]
public List<LineaDetalle> LineaDetalle { get; set; }
[xmlement(“LineaDetalle”)]
公共列表LineaDetalle{get;set;}
现在,实例正在序列化,没有额外的标记
<DetalleServicio>
<LineaDetalle>
<LineaDetalle>
ALL MY VALUES HERE
</LineaDetalle>
<LineaDetalle>
MY VALUES HERE
</LineaDetalle>
</LineaDetalle>
</DetalleServicio>
public List<LineaDetalle> LineaDetalle { get; set; }
LineaDetalle = new List<LineaDetalle>()
{
new LineaDetalle()
{}
new LineaDetalle()
{}
}
[XmlElement("LineaDetalle")]
public List<LineaDetalle> LineaDetalle { get; set; }