如何检查一个元素是否有两个特定的child?
How to check if an element has two specific child?
如何使用 XML LINQ 进行检查?
我需要检查 parent 是否同时有 child1 和 child2。这应该 return true:
<parent>
<child1></child1>
<child2></child2>
</parent>
这些都是假的:
<parent>
<child1></child1>
</parent>
或
<parent>
<child2></child2>
</parent>
假设您有一个包含 root
元素和 parent
元素集合的 XML 文件,例如:
<root>
<parent>
<child1></child1>
<child2></child2>
</parent>
<parent>
<child1></child1>
</parent>
<parent>
<child2></child2>
</parent>
</root>
您可以使用以下代码获取同时包含一个 child1
元素和一个 child2
元素的 parent
s:
var xmlFile = @"[...Path to your xml file...]";
var root = XElement.Load(xmlFile);
var parents = root.Elements("parent");
var eligibleParents = parents
.Where(p => p.Elements("child1").Count() == 1
&& p.Elements("child2").Count() == 1);
parent
将包含:
<parent>
<child1></child1>
<child2></child2>
</parent>
<parent>
<child1></child1>
</parent>
<parent>
<child2></child2>
</parent>
eligibleParents
将包含:
<parent>
<child1></child1>
<child2></child2>
</parent>
表达式
p.Elements("child1").Count() == 1
&& p.Elements("child2").Count() == 1
returns 如果 parent
(p
) 元素只有一个 child1
和一个 child2
子元素,则为真。
如何使用 XML LINQ 进行检查?
我需要检查 parent 是否同时有 child1 和 child2。这应该 return true:
<parent>
<child1></child1>
<child2></child2>
</parent>
这些都是假的:
<parent>
<child1></child1>
</parent>
或
<parent>
<child2></child2>
</parent>
假设您有一个包含 root
元素和 parent
元素集合的 XML 文件,例如:
<root>
<parent>
<child1></child1>
<child2></child2>
</parent>
<parent>
<child1></child1>
</parent>
<parent>
<child2></child2>
</parent>
</root>
您可以使用以下代码获取同时包含一个 child1
元素和一个 child2
元素的 parent
s:
var xmlFile = @"[...Path to your xml file...]";
var root = XElement.Load(xmlFile);
var parents = root.Elements("parent");
var eligibleParents = parents
.Where(p => p.Elements("child1").Count() == 1
&& p.Elements("child2").Count() == 1);
parent
将包含:
<parent>
<child1></child1>
<child2></child2>
</parent>
<parent>
<child1></child1>
</parent>
<parent>
<child2></child2>
</parent>
eligibleParents
将包含:
<parent>
<child1></child1>
<child2></child2>
</parent>
表达式
p.Elements("child1").Count() == 1
&& p.Elements("child2").Count() == 1
returns 如果 parent
(p
) 元素只有一个 child1
和一个 child2
子元素,则为真。