我正在使用 C# 为状态图 XML 制作解析器。正如我们所知,状态图 XML 状态和并行可能有 2 个子级,因此我制作了 2 个函数,一个用于状态,另一个用于并行。我如何才能在我的代码中调用 scxml 的子代而不是其子代的子代,它正在调用所有子代+孙代+grand_grand 等等。所以请有人解释一下如何只调用 scxml 的子代
我试图给它的孩子打电话,但它所有的孩子都来了
public static void Main(string[] args)
{
var
xdocXDocument.Load(@"C:/Users/path.xml");
IEnumerable<XElement> de = from el in xdoc.Descendants() select el;
foreach (XElement el in de)
{
if (string.Equals(el.Name.ToString(), "state", StringComparison.InvariantCultureIgnoreCase))
{
stat(el);
}
else if (string.Equals(el.Name.ToString(), "parallel", StringComparison.InvariantCultureIgnoreCase))
{
parr(el);
}
}
}
错误是在我的 xml 中,xml 的一个子项是状态,并且状态子项是并行的,因此它也调用子项的子项。xml代码是