.net,读取xml时,报:其他信息: “.”(十六进制值 0x00)是无效的字符。 第 2 行,位置 1。

将xml文件写入磁盘:
把要写入内容的空字符做替换,xml.Replace("\0", " ");

string pathG = GPSXMLDir + @"\VehPos-" + SendCarDate + "-" + i + ".xml";
FileStream fs = new FileStream(pathG, FileMode.OpenOrCreate);
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamWriter sw = new StreamWriter(fs);
string xml = vehPos;
xml.Replace("\0", " ");
sw.Write(xml);
sw.Flush();
sw.Close();
fs.Close();

读取xml文件:

XmlDocument doc = new XmlDocument();
doc.Load(file.InputStream);
XmlElement root = doc.DocumentElement;
XmlNodeList tableNodes = root.GetElementsByTagName("Table");
if (tableNodes.Count != 0)
{
  foreach (XmlNode node in tableNodes)
  {
      string Vehicle = ((XmlElement)node).GetElementsByTagName("Vehicle")[0].InnerText;
      string GPSTime = ((XmlElement)node).GetElementsByTagName("GPSTime")[0].InnerText;
      string Speed = ((XmlElement)node).GetElementsByTagName("Speed")[0].InnerText;
      string Odometer = ((XmlElement)node).GetElementsByTagName("Odometer")[0].InnerText;
      string Lat = ((XmlElement)node).GetElementsByTagName("Lat")[0].InnerText;
      string Lon = ((XmlElement)node).GetElementsByTagName("Lon")[0].InnerText;
      string Direction = ((XmlElement)node).GetElementsByTagName("Direction")[0].InnerText;
      string Status = ((XmlElement)node).GetElementsByTagName("Status")[0].InnerText;
      string RoadName = ((XmlElement)node).GetElementsByTagName("RoadName")[0].InnerText;

      VehPositionTest entity = new VehPositionTest
      {
          Vehicle = Vehicle,
          GpsTime = Convert.ToDateTime(GPSTime),
          Speed = Convert.ToDecimal(Speed),
          OdoMeter = Convert.ToDecimal(Odometer),
          Lat = Convert.ToDecimal(Lat),
          Lon = Convert.ToDecimal(Lon),
          Direction = Convert.ToDecimal(Direction),
          Status = Status,
          RoadName = RoadName
      };
      var tuple = Save(entity);
      if(tuple)
          return true;
  }
}
return false;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值