Ho un file xml con questa struttura (semplificata)
codice:
<MapWindow>
	<GeneralProperties></GeneralProperties>
	<CoordinateSystem></CoordinateSystem>
	<MapLayers>
		<PolygonLayer>
			<GeneralLayerProperties>
				<Name>Buildings</Name>
				<Visible>0</Visible>
			</GeneralLayerProperties>
		</PolygonLayer>
		<PolygonLayer>
			<GeneralLayerProperties>
				<Name>World Countries</Name>
				<Visible>0</Visible>
			</GeneralLayerProperties>
		</PolygonLayer>
	</MapLayers>
</MapWindow>
io debbo:
1) leggere il file da disco
2) per un certo layer di nome 'World Countries' debbo modificare la proprietà Visible

ho fatto questo codice che parrebbe funzionare. Chiedo se si può fare meglio :master:
codice:
Sub ModificaMwxFile(ByVal mwxFile As String)
	'utilizzo il dom
	Dim xmlDoc As New XmlDocument()

	'carico l'xml da file
	xmlDoc.Load(mwxFile)

	'accedo alla radice
	Dim radice As XmlElement = xmlDoc.DocumentElement

	For Each layer As XmlElement In radice.GetElementsByTagName("MapLayers")
		For Each polygonLayer As XmlElement In layer.GetElementsByTagName("PolygonLayer")
			For Each generalLayerPropertie As XmlElement In polygonLayer.GetElementsByTagName("GeneralLayerProperties")
				Dim nodo As XmlNode = generalLayerPropertie.ChildNodes(0)
				If nodo.InnerText = "World Countries" Then
					'PrintLn(nodo.InnerText, nodo.Name)
					'generalLayerPropertie.ChildNodes(1).InnerText = "0"
					generalLayerPropertie.ChildNodes(1).InnerText = SE(generalLayerPropertie.ChildNodes(1).InnerText = "0", "1", "0")
				End If
			Next
		Next
	Next

	xmlDoc.Save(mwxFile)

End Sub