0
xmlファイルから緯度(lat)値と経度(lon)値の両方を取得しようとしています。C#xmlファイルから値を取得する
XMLファイルが生成され、以下のコードを使用してWeb要求をスローします。
コード
var request = WebRequest.Create("#") as HttpWebRequest;
request.Credentials = new System.Net.NetworkCredential("#", "#");
var response = request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
var result = readStream.ReadToEnd();
String xmlString = result;
System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(new System.IO.StringReader(xmlString));
reader.Read();
System.Data.DataSet ds = new System.Data.DataSet();
ds.ReadXml(reader, System.Data.XmlReadMode.Auto);
DataTable dt = ds.Tables[0];
lbllat.Text = dt.Rows[0][5].ToString();//for example
lbllong.Text = dt.Rows[0][6].ToString();
しかし、コードは、この次のエラーMSGを与えます。
Error: '>' is an unexpected token. The expected token is '='. Line 2, position 483
主に、XMLタグでスペースが許可されていないため、エラーが発生しました。
生成されたxmlファイル形式。
<?xml version="1.0"?>
<root>
<code>0</code>
<msg>OK</msg>
<data>
<agentid>1</agentid>
<imei>3224</imei>
<typeid>2</typeid>
<type>Truck</type>
<vehiclenumber>12121</vehiclenumber>
<folder>folder1</folder>
<created_time>1493813160</created_time>
<current_mileage>4232</current_mileage>
<status>
<active>1</active>
<speed>0</speed>
<direction>303</direction>
<lat>3.79092</lat>
<lon>69.51279</lon>
<alt>1</alt>
<satsinview>18</satsinview>
<unixtimestamp>1503389638</unixtimestamp>
<sensors>
<Ignition sensor="">Off</Ignition sensor><External power="" supply="">On</External power supply>
</sensors>
</status>
</data>
</root>
どのような提案ですか?
うん、 ' Ignition sensor>'が間違っています。ちょうど ''であるべきです。あなたの ''タグと同じです。終了タグに属性を含めないでください。 – itsme86
はい、私はその生成されたスローWebリクエストからフォーマットを変更することはできません。 – Ayman
あなたができることは、 'xmlString'を前処理することです。つまり、