0
私はちょうどLinqを学んでいて、私が望んでいるものはかなり単純です。だから私はその後、私は、クエリ上でforeach
を実行Linqの特定の属性に基づいて特定の要素値を読み取りますか?
var query = from p in ILSXml.Elements("XDOC").Elements("ItemsDetail").Elements("Item")
select p;
を照会、その後XDocument
型に上記の私のXMLをロードし、
<?xml version="1.0" encoding="utf-8"?>
<XDOC>
...
<ItemsDetail>
<Item name="Item1">
<data1>
<Data type="classA">55</Data>
<Data type="classB">66</Data>
</data1>
<data2>
<Data type="classA">77</Data>
<Data type="classB">88</Data>
</data2>
</Item>
</ItemsDetail>
</XDOC>
:私のXMLドキュメントは次のようです。だから、ライン
foreach (var record in query)
{
Console.WriteLine("Name: {0}", record.Attribute("Name").Value);
Console.WriteLine("Data1 ClassA: {0}", record.Element("data1").Element("Data").Attribute("classA").Value);
}
:
Console.WriteLine("Data1 ClassA: {0}", record.Element("data1").Element("Data").Attribute("classA").Value);
は、動作しませんが、私はかなり期待していたものです。別の一連のクエリを実行するか、インラインの匿名メソッドを実行する必要がありますか?
ああ、xmlにコメントしないでください。それは私のものではありません。私はちょうどそれを使用しなければなりません。
これは、最初のものに似ていますが、.Firstがありません。 このようなxmlドキュメントを使用するより推奨される方法はありますか? –
文書を記述するXSD(XMLスキーマ文書)を手に入れることができれば、実際のクラスを生成し、標準的なXML直列化を使用することには間違いありません。 –