我似乎在删除XDocument中的节点时遇到了问题。
这是我打开文件然后在XDocument中加载文件,但是从这里我不确定如何删除所有被称为“时间”的“节点”。
using (IsolatedStorageFileStream doc = localStorage.OpenFile(xmlFile, FileMode.Open))
{
System.Xml.Linq.XDocument test = System.Xml.Linq.XDocument.Load(doc);
}
以下是XML示例:
<Shape xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Latitude>51.262952</Latitude>
<Longitude>-0.596507</Longitude>
<Elevation>0</Elevation>
<AltitudeRef>Ellipsoid</AltitudeRef>
<Name>Route 2</Name>
<Description />
<Time xsi:nil="true" />
<Number xsi:nil="true" />
<Type>Route</Type>
<Extensions />
<LineColour>102</LineColour>
<LineOpacity>0.800000011920929</LineOpacity>
<LineWidth>5</LineWidth>
<ShapeType>Route</ShapeType>
<ShapeSegments>
<ShapeSegment>
<Points>
<Point>
<Latitude>51.262952</Latitude>
<Longitude>-0.596507</Longitude>
<Elevation>47.63</Elevation>
<AltitudeRef>Ellipsoid</AltitudeRef>
<Time>2016-01-15T11:58:48.0449337+00:00</Time>
<Name>WP0</Name>
<Type>Waypoint</Type>
<Description>Depart Cumberland Avenue toward Weydown Lane</Description>
<RestTicks>0</RestTicks>
<DatabaseID>-1</DatabaseID>
</Point>
<Point>
<Latitude>51.26366</Latitude>
<Longitude>-0.595391</Longitude>
<Elevation>45.71</Elevation>
<AltitudeRef>Ellipsoid</AltitudeRef>
<Time>2016-01-15T11:58:48.0469339+00:00</Time>
<Name>WP1</Name>
<Type>Waypoint</Type>
<Description />
<RestTicks>0</RestTicks>
<DatabaseID>-1</DatabaseID>
</Point>
我想删除所有名为“Time”的节点,然后保存。
答案 0 :(得分:4)
非常简单 - 为名为Time
的所有后代元素创建查询并将其删除:
test.Descendants("Time").Remove()