Я пытаюсь написать XPath для работы с некоторыми узлами XML.
Ниже приведен пример моего XML (для имени элемента и иллюстрации вложения).
<Forms>
<Form>
<Control/>
<Control>
<Control></Control>
</Control>
<Control>
<Form><!-- This is the nested one, I don't want the Control children from this-->
<Control/>
</Form>
</Control>
</Form>
Есть ли способ изменить приведенный ниже оператор XPath - включить все элементы управления (даже вложенные внутри друг друга) в «Форму», но не из вложенной формы (см. Форму <2>)? Этот текущий XPath возвращает обратно » Элементы управления ", которые находятся под вложенными узлами" Form ".
string xpath = @"/Forms/Form[@id='" + node.Attributes["id"].Value + "']//Control[@type='GroupItem' or @type='Detail' or @type='GroupHeader']";
Я пытаюсь вложить все теги Control и обернуть их тегом «Controls», поэтому я использую этот Xpath в C # для переформатирования - но я не хочу извлекать Control из вложенной формы, Я хочу обернуть их в тег Controls отдельно.
Спасибо за любую помощь!