1

XDocument を使用して従業員データを格納するプログラムをコーディングしています。

<!-- School Employee Data -->
<SchoolData storeName="mikveIsrael" location="mikve">
    <employee id="1">
        <personalInfo>
            <name>Ilan Berlinbluv</name>
            <zip>58505</zip>
        </personalInfo>
        <employeeInfo>
            <salary>5000</salary>
            <id>1</id>
        </employeeInfo>
    </employee>
    <employee id="2">...</employee>
</SchoolData>  

プログラムにすべての属性を読み取らせたいのですemployee idが、その方法がわかりません。代わりに、私はこれをやってみました:

    var ids = from idz in doc.Descendants("SchoolData")
              select new
              {
                  id1 = idz.Element("employee").Attribute("id").Value
              };

docXDocument 変数はどこにありますか。最初のものだけを返しますが、arrayorを返したいのですがList<string>、同じ名前employeeの要素をすべて反復する方法がわかりません。

4

2 に答える 2

1

これは役立つかもしれません:

var xDoc = XDocument.Load(path);

var result = xDoc.Descendants("employee")
                 .SelectMany(i => i.Attribute("id").Value)
                 .ToList();
于 2013-10-31T18:42:19.930 に答える
1
XDocument doc = XDocument.Parse(xml);
List<string> ids = doc.Descendants("employee")
                        .Select(e => e.Attribute("id").Value)
                          .ToList();
于 2013-10-31T18:38:55.330 に答える