0

以下は、C# 経由でデータを取得するために必要な xml ファイルの例です。xml ファイルを読むのはこれが初めてで、xml の初心者です。Export_B の fieldorder 値を検索/ロードする方法の例はありますか?

<?xml version="1.0" encoding="utf-8"?>
<Config>
    <OutFolderCSV>c:\Output\2012\upload_Files</OutFolderCSV>
    <OutFolderImage>c:\Output\2012\NM_Scorecard_Images</OutFolderImage>
    <PathOutLogFile>c:\Output\2012\Log\Matches.log</PathOutLogFile>
    <FieldSeparator>,</FieldSeparator>
    <ExportFile>
    <Name>Export_A</Name>
    <FieldOrder>matchID</FieldOrder>
    <FieldOrder>contactID</FieldOrder>
        <FieldOrder>stageID13</FieldOrder>
        <FieldOrder>stringScore1a</FieldOrder>
        <FieldOrder>xScore1a</FieldOrder>
    <FieldOrder>stageID14</FieldOrder>
        <FieldOrder>stringScore1b</FieldOrder>
        <FieldOrder>xScore1b</FieldOrder>
    <FieldOrder>stageID15</FieldOrder>
        <FieldOrder>stringScore1c</FieldOrder>
        <FieldOrder>xScore1c</FieldOrder>
    </ExportFile>
    <ExportFile>
    <Name>Export_B</Name>
    <FieldOrder>matchID</FieldOrder>
    <FieldOrder>contactID</FieldOrder>
        <FieldOrder>stageID16</FieldOrder>
        <FieldOrder>stringScore1a</FieldOrder>
        <FieldOrder>xScore1a</FieldOrder>
    <FieldOrder>stageID17</FieldOrder>
        <FieldOrder>stringScore1b</FieldOrder>
        <FieldOrder>xScore1b</FieldOrder>
    <FieldOrder>stageID18</FieldOrder>
        <FieldOrder>stringScore1c</FieldOrder>
        <FieldOrder>xScore</FieldOrder>
   </ExportFile>
</Config>
4

2 に答える 2

0

LINQ to XMLの使用:

var doc = XDocument.Load(@"c:\path\to\file.xml");
var fieldOrders =
    from exportFile in doc.Descendants("ExportFile")
    where (string)exportFile.Element("Name") == "Export_B"
    from fieldOrder in exportFile.Elements("FieldOrder")
    select (string)fieldOrder;
于 2012-10-28T18:27:48.623 に答える
-1

私は記事 http://www.codeproject.com/Articles/33769/Basics-of-LINQ-Lamda-Expressionsを書きました

XDocument オブジェクトを使用した XML で。

を使用して XML を簡単に解析できます。

XDocument.Load(filepath)

オブジェクトを解析するには、セクション XLinq をお読みください。

編集 :

次のコードを使用して、Export_B の値を変更できます。

var document = XDocument.Load(filepath)
var exportFiles = document.Descandants("ExportFile");
List<XElement> list = new List<XElement>();
foreach(var element in exportFiles)
{
     list.Add(element);

// Now you can do element.Element("Name") to get the name. Put a breakpoint on this, you can get the reference of all underlying objects.
    }
于 2012-10-28T18:11:44.283 に答える