Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从XML中删除重复的节点_.net_Xml_Core - Fatal编程技术网

.net 从XML中删除重复的节点

.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> 及 我怎样才能解决这

我有一个表示发票的复杂XML

我需要使用.NET Core和
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; }