Я приведу пример проблемы, которая у меня есть. Мой XML такой
<root>
<child Name = "child1">
<node>
<element1>Value1</element1>
<element2>Value2</element2>
</node>
</child>
<child Name = "child2">
<element1>Value1</element1>
<element2>Value2</element2>
<element3>Value3</element3>
</child>
</root>
У меня есть выражение xpath, которое возвращает все узлы "element2". Затем я хочу для каждого узла типа "element2" найти узел типа "child", который его содержит. Проблема в том, что между этими двумя узлами может быть от 1 до n разных узлов, поэтому я не могу просто использовать "..". Есть ли что-то вроде "//", которое будет смотреть вверх, а не вниз
У меня есть некоторые базовые знания по xpath, и в соответствии с http://www.w3schools.com/xpath/xpath_syntax.asp ".." возвращает текущего родительского узла, проблема в том, что текущий узел - "element2", а проблема в том, что xml является динамическим от третьей стороны библиотека, чтобы я мог иметь XML, как это
<child Name = "child1">
<node>
<element1>Value1</element1>
</node>
</child>
или как это
<child Name = "child1">
<node1>
<node2>
<node3>
<element1>Value1</element1>
<element2>Value2</element2>
</node3>
</node2>
</node1>
</child>
Между «элементом» и дочерним элементом может быть более 3 узлов, а количество узлов варьируется от 1 до 20. Пожалуйста, приведите пример только одного запроса xpath, чтобы получить «дочерний» узел в обоих случаях, используя просто « .. "
С наилучшими пожеланиями,
Йордан