簡體   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