Представьте себе следующий XML-документ:
<root>
<person_data>
<person>
<name>John</name>
<age>35</age>
</person>
<person>
<name>Jim</name>
<age>50</age>
</person>
</person_data>
<locations>
<location>
<name>John</name>
<country>USA</country>
</location>
<location>
<name>Jim</name>
<country>Japan</country>
</location>
</locations>
</root>
Затем я выбираю личный узел для Джима:
XmlNode personNode = doc.SelectSingleNode("//person[name = 'Jim']");
А теперь из этого узла с одним выбором XPath я хотел бы получить узел местоположения Джима. Что-то вроде:
XmlNode locationNode = personNode.SelectSingleNode("//location[name = {reference to personNode}/name]");
Поскольку я выбираю на основе personNode, было бы удобно, если бы я мог ссылаться на него в списке выбора. Это возможно? .. есть ли связь?
Конечно, я мог бы добавить несколько дополнительных строк кода и поместить имя в переменную и использовать это в строке XPath, но это не то, что я спрашиваю.