【发布时间】:2020-12-06 08:47:33
【问题描述】:
我正在努力选择一个具有我想要修改的搜索条件的两层深的节点,我做错了什么? 我想我实际上是在寻找一种方法来在第一个查询下创建第二个“Where”级别以选择特定的子级别。
XML:
<Model IDCode="ed385480-8905-4ddb-82b5-0eb9415b7676" Code="IGC">
<Locations>
<Location Type="Hub" Country="US" Office="NY" Contact="Frank"></Location>
<Location Type="Satellite" Country="US" Office="LA" Contact="Sinatra"></Location>
<Locations>
</Model>
<Model IDCode="ed385480-8905-4ddb-82b5-0eb9415b7676" Code="ABC">
<Locations>
<Location Type="Hub" Country="US" Office="NY" Contact="James"></Location>
<Location Type="Satellite" Country="US" Office="LA" Contact="Franco"></Location>
</Locations>
</Model>
以及使用的代码;
var locations= from IDCode in xdocConfig.Elements("Model")
where IDCode != null && (IDCode.Attribute("IDCode").Value == Current.IDCode)
select IDCode.Element("Locations");
foreach (var location in locations)
{
if (location.Attribute("Office").Value == "LA")
{
location.SetAttributeValue("Office", "new value");
}
}
}
【问题讨论】:
-
使用:location.SetAttributeValue("Office", "new value");
-
确实是到达那里的更好方法,我会更新,谢谢。到达节点进行更新是我的问题。