繁体   English   中英

在导入过程中如何处理格式错误的XML文件?

[英]How do I handle malformed XML files during import process?

我刚刚完成了一个将相当简单的XML数据文件导入数据库的应用程序。 该应用程序运行正常,但我想知道如何处理错误的XML文件。 例如,用户选择的XML文件的布局与我的应用程序所需的布局不同。 最终,我还要添加选择多个要导入文件的功能,并且希望在遇到格式错误的文件时仅警告用户,而不是抛出异常。

有什么建议么?

谢谢!

编辑:示例XML文件...

<export-database name="/data/data/dump.db">
<table name="gpsPoints">
    <row>
      <col name="_id">0</col> 
      <col name="latitude">0000000000</col> 
      <col name="longitude">0000000000</col> 
      <col name="rssi">-00</col> 
      <col name="logdate">00 000 00 00:00:00</col> 
      <col name="mcc">000</col> 
      <col name="mnc">000</col> 
      <col name="lac">00</col> 
      <col name="cellid">000</col> 
      <col name="site_lat">0</col> 
      <col name="site_lng">0</col> 
      <col name="tech">0000000000</col> 
      <col name="ber">-000</col> 
      <col name="callstate">0000000000/col> 
      <col name="roaming">0000000000</col> 
    </row>
</table>
</export-database>

对我来说,这听起来像是一个简单的尝试捕获的事情...不? 当结构不是问题时,事情的确会变得复杂,但是提供的数据在某种程度上是错误的,并且您需要“拒绝”特定记录/节点的能力,但这听起来并不像您的情况。 另外,了解您如何准确地阅读XML(即DOM,XML序列化,XML Linq)也可能会有所帮助。

使用简单的try / catch程序,解析XML文件并检查其是否有效,可能会花费更多的精力编写,并且处理时间也会更长。

例如,如果要填充数据集,则代码应如下所示

try {
    DataSet ds = new DataSet();
    ds.LoadXml("myfile.xml");
}
catch { 
    ErrorLabel.Text = "Your XML isn't valid";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM