ファイル内の XML ノードに継続的にデータを書き込むプログラムを作成しようとしていますが、その実装方法がわかりません。XML ファイルは、パスを描画するために座標が必要な Google Earth kml ファイルです。
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style>
<LineStyle>
<color>7f00ffff</color>
<width>4</width>
</LineStyle>
</Style>
<Placemark>
<LineString>
<altitudeMode>clampToGround</altitudeMode>
<coordinates>0,0,0</coordinates>
</LineString>
</Placemark>
</Document>
</kml>
座標ノードを変更して、後続の行を追加するだけです。これは、タイマーを使用して毎秒新しい座標セットを書き込むことで実現できます。これにはおそらく数百行あります。
<coordinates>
-112.2550785337791,36.07954952145647,2357
-112.2549277039738,36.08117083492122,2357
-112.2552505069063,36.08260761307279,2357
-112.2564540158376,36.08395660588506,2357
-112.2580238976449,36.08511401044813,2357
-112.2595218489022,36.08584355239394,2357
(...etc)
</coordinates>
座標ノードだけにアクセスして値を次々と書き込む方法がよくわかりません。私はこのようなことを試しましたが、うまくいきません:
XmlDocument dataFile = new XmlDocument();
dataFile.Load("gpsData.kml");
XmlNode node = dataFile.SelectSingleNode("kml/Document/Placemark/LineString/coordinates");
node.InnerText (?) <- how do I append new text instead of replacing the whole thing?