我有一个像下面这样的xml。Linq to XML(在一个节点下获取特定值)
<testing>
<node01 name="node01Name">
<node02s>
<node02 name="1">
<CustomProperties>
<CustomProperty Name="ASCII File Name" Value="index.txt" FilterID="0" />
<CustomProperty Name="ASCII Folder" Value="\\abc\cdf\aaaa" FilterID="0" />
<CustomProperty Name="Delimiter" Value="CommaQuote" FilterID="0" />
<CustomProperty Name="Duplicate Handling" Value="Replace if Dup" FilterID="0" />
<CustomProperty Name="EMAILATTDOC" Value="1" FilterID="0" />
<CustomProperty Name="EMAILATTINDEX" Value="0" FilterID="0" />
<CustomProperty Name="EMAILOUTBODY" FilterID="0" />
<CustomProperty Name="EMAILOUTCC" FilterID="0" />
</CustomProperties>
</node02>
<node02 name="2">
<CustomProperties>
<CustomProperty Name="ASCII File Name" Value="index.txt" FilterID="0" />
<CustomProperty Name="ASCII Folder" Value="\\abc\cdf\aaaa" FilterID="0" />
<CustomProperty Name="Delimiter" Value="CommaQuote" FilterID="0" />
<CustomProperty Name="Duplicate Handling" Value="Replace if Dup" FilterID="0" />
<CustomProperty Name="EMAILATTDOC" Value="1" FilterID="0" />
<CustomProperty Name="EMAILATTINDEX" Value="0" FilterID="0" />
<CustomProperty Name="EMAILOUTBODY" FilterID="0" />
<CustomProperty Name="EMAILOUTCC" FilterID="0" />
</CustomProperties>
</node02>
</node02s>
</node01>
</testing>
我需要得到每个NODE02下的每个CustomProperty的。这是我的代码。
XDocument configparentXML = XDocument.Load("admin.xml");
string node = "node02";
var batchClasses = from batchClasse in configparentXML.Descendants(node)
select new ReadingXmlWithLinq
{
BatchClassName = batchClasse.Attribute("Name") != null ? batchClasse.Attribute("Name").Value : "",
};
foreach (var lv0 in batchClasses)
{
node = "CustomProperty";
var CustomProperties = from CustomProperty in configparentXML.Descendants(node)
select new ReadingXmlWithLinq
{
CustomPropertyName = documentClasse.Attribute("Name") != null ? documentClasse.Attribute("Name").Value : ""
};
}
但在听到它的回报所有CustomPropery值。我如何获得Customer02的node02?
非常感谢。
我接受您的评论。我通过投票接受了一些答案,但我通过舔正确的标记来确认它。和泰克斯的评论。它不会再发生。 – Charitha
好东西。看到我的答案。 – spender