0

fireCollarTable_ と electrofusionTable_ の 2 つのデータテーブルがあります。

        fireCollarTable_ = new System.Data.DataTable("Fire Collar");
        fireCollarTable_.Columns.Add("Article", typeof(string));
        fireCollarTable_.Columns.Add("Description", typeof(string));
        fireCollarTable_.Columns.Add("Diameter", typeof(double));

        electroFusionCouplerTable_ = new System.Data.DataTable("Electrofusion Coupler");
        electroFusionCouplerTable_.Columns.Add("Article", typeof(string));
        electroFusionCouplerTable_.Columns.Add("Description", typeof(string));
        electroFusionCouplerTable_.Columns.Add("Diameter", typeof(double));
        electroFusionCouplerTable_.Columns.Add("Length", typeof(double));    

上記の 2 つのデータテーブルが定義され、XML ファイルは

   <Catalogue>

     <!--  1-Item, 2-Article, 3-Description, 4-PipeType, 5-Diameter -->

     <Record a1="Fire Collar" a2="VS0410001" a3="Fire Collar, 40 mm" a5="40" />
     <Record a1="Fire Collar" a2="VS0410003" a3="Fire Collar, 50 mm" a5="50" />
     <Record a1="Fire Collar" a2="VS0410005" a3="Fire Collar, 56 mm" a5="56" />

     <!--  1-Item, 2-Article, 3-Description, 4-PipeType, 5-Diameter,9-Length-->

     <Record a1="Electrofusion Coupler" a2="VS0350001" a3="Electrofusion coupler, 40 mm"         a5="40" a9="64" />
     <Record a1="Electrofusion Coupler" a2="VS0350003" a3="Electrofusion coupler, 50 mm" a5="50" a9="60" />

   </Catalogue>

XML ファイルを解析し、属性「a1」の値に従って、データテーブルの 1 つにデータを挿入したいと考えています。たとえば、"a1" = "Fire Collar" の値の場合、データを firecollar テーブルに挿入する必要があります。

4

2 に答える 2

1

C# で XML ファイルを解析するには、XPath を使用する必要があります。このリンク「http://support.microsoft.com/kb/308333」および「http://www.codeproject.com/Articles/52079/Using-XPathNavigator-in-C#」に従ってください。ここで例を挙げます:

  1. XmlDocument.Load("abc.xml"); を使用して XmlDocument に xml ファイルを読み込みます。
  2. XmlDocument.SelecteNodes("//Records[@a=""]"); を使用したクエリ

パラメータを使用して特定のノードを検索し、配置する必要がある場所に XmlNode.Value を配置できます。

これを Google で検索すると、正確な構文とフローが得られます。

于 2013-05-18T04:57:04.533 に答える