2014-09-24 78 views
-1

我有XML文件,我需要解析它們,然後將其寫入數據庫,反之亦然。在數據庫中我有2個表在哪裏寫信息。 XML代碼: http://pastebin.com/x9Y4ekvJ解析XML並使用.db3文件

id =「134」代表第一張表格,id =「448」代表第二張。問題是那裏的某種參考。看看id =「448」和<Property columnName="EMPLOYERS">。也有<GidValue SomeType="134" entityId="2" />,這意味着在列名稱EMPLOYERS之下並且需要寫出具有SomeType id = 134'和entityId =「2」的公司名稱,並且您可以看到該公司的名稱是SomeCompany2。 我該怎麼做?

第二個問題是,我不知道如何打開或處理我的c#代碼中的.db3文件。我正在尋找答案,但我找不到任何可以幫助我的東西。

如果有人能幫助我,我將不勝感激。對不起英語不好。

+0

關於'.db3' [如何連接的SQLite C#(http://stackoverflow.com/questions/8870092/how-to-connect-c-sharp-app-with-sqlite-database) – 2014-09-24 08:41:53

回答

0

解析你明白反序列化?這是一個類。

括號中的名稱是來自Xml的名稱。每個類都必須是公共的,並且包含一個公共(無參數)構造函數。每個序列化的變量都必須是公共的。

using System.Xml.Serialization; 

namespace PsihoXXX 
{ 
    [XmlRoot("Tag")] 
    public class Tag 
    { 
     [XmlElementAttribute("SomeType")] 
     public SomeType[] someType; 

     public Tag() 
     { 
     } 
    } 

    public class SomeType 
    { 
     [XmlAttribute("id")] 
     public int id; 

     [XmlElementAttribute("ResourceDescription")] 
     public ResourceDescription[] resourceDescription; 

     public SomeType() 
     {} 
    } 

    public class ResourceDescription 
    { 
     [XmlAttribute("entityId")] 
     public int entityId; 

     [XmlElementAttribute("Property")] 
     public Property[] property; 

     public ResourceDescription() 
     { 
     } 
    } 

    public class Property 
    { 
     [XmlAttribute("columnName")] 
     public string columnName; 

     [XmlElement("Value")] 
     public string value; 

     public Property() 
     { 
     } 
    } 
}