Problem
All Elements of a package should be retrieved.
Approach – Ansatz
The method getElementsOfElement, which has been defined in the previous article is used to add all subelements of a package.
Lösung – Solution
public List<EA.Element> getElementsOfPackage(EA.Package package, string packageName) { List<EA.Element> elementsOfPackage = new List<EA.Element>(); // Only list the elements if the actual package is connected to a DOORS module if (package.Name == packageName) { foreach (EA.Element element in package.Elements) { elementsOfPackage.Add(element); elementsOfPackage.AddRange(getElementsOfElement(element)); } } foreach (EA.Package subPackage in package.Packages) { elementsOfPackage.AddRange(getElementsOfPackage(subPackage, packageName)); } return elementsOfPackage; } private List<EA.Element> getElementsOfElement(EA.Element actualElement) { List<EA.Element> elementsOfElement = new List<EA.Element>(); EA.Collection elements; elements = actualElement.Elements; foreach (EA.Element element in elements) { elementsOfElement.Add(element); elementsOfElement.AddRange(getElementsOfElement(element)); } return elementsOfElement; }