我做了一个 Linq 声明希望接收 XML 文件的所有节点。
foreach (var node in epaXmlLoad.Root.Descendants()
.DescendantNodes()
.OfType<XElement>()
.Distinct())
{
newEntity = true;
xmlModel.Node = node.Name.ToString();
xmlModel.ParentNode = node.Parent.Name.ToString();
model.Save(xmlModel);
}
这会将节点和该节点的父节点保存在表中。
但是当我运行它时,表中会有重复的数据。我不能区分节点值,只是因为有更多同名的子节点,但在它们之上还有其他父节点。
<EPC>
<General>
<Input>3</Invoer>
<Amount>3</Amount>
<Name>Bla</Name>
</General>
<Sectors>
<Sector>
<Name>Blalbla</Perc>
<UsageID>0</UsageID>
<Detection>0</Detection>
<Sector>
<Sector>
<Name>Blalbla</Perc>
<UsageID>0</UsageID>
<Detection>0</Detection>
<Sector>
<Sectors>
<Devices>
<Device>
<Name>Bladiebla</name>
<Amount>5</Amount>
<Detection>True</Detection>
</Device>
<Device>
<Name>Bladiebla2</name>
<Amount>5</Amount>
<Detection>True</Detection>
</Device>
<Devices>
^ 这个 XML 描述了我的问题。