2014-09-24 77 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() 
     { 
     } 
    } 
}