Как получить значение через xpath для повторяющихся тегов, это похоже на пару ключ-значение

#java #xpath

#java #xpath

Вопрос:

Я разрабатываю очень динамичное приложение. У меня есть приведенный ниже XML в качестве входного запроса.Я запрашиваю ниже через xpath.Например, я должен получить пертикулярное значение UpdateTime.как я могу написать xpath, чтобы получить значение этого поля.Проблема в том, что порядок тега additionalData может быть изменен.

Какую логику я могу здесь применить …?

 <InputData>
  <AdditionalData>
    <Name>TransmissionDatetime</Name>
    <Value>20101130121706</Value>
  </AdditionalData>
  <AdditionalData>
    <Name>UpdateDate</Name>
    <Value>20101130121604</Value>
  </AdditionalData>
  <AdditionalData>
    <Name>TimeofArrival</Name>
    <Value>20101130161705</Value>
  </AdditionalData>
  <AdditionalData>
    <Name>Part</Name>
    <Value>20101130161236</Value>
  </AdditionalData>
  <AdditionalData>
    <Name>SiteID</Name>
    <Value>1520537</Value>
  </AdditionalData>
</InputData>
  

Кто-нибудь может мне помочь и дать какую-нибудь идею …..???

Ответ №1:

Вы не очень четко сформулировали требование, но я подозреваю, что вы ищете

 /InputData/AdditionalData[Name='UpdateDate']/Value
  

Ответ №2:

попробуйте это: /InputData/AdditionalData[Name='UpdateDate'] ?

взгляните на: http://www.w3schools.com/XPath/xpath_syntax.asp

Комментарии:

1. Хм… Я не знал, что w3schools настолько плох. Проверьте w3fools.com . Так и подмывает не повышать свой комментарий за то, что он не дает никаких объяснений, почему w3schools заслуживает понижения 😉

Ответ №3:

Для инструмента тестирования и разработки xpath попробуйте XPathVisualizer

введите описание изображения здесь

Бесплатно. Только для Windows, использует .NET