Ad Widget

Collapse

XML XPath

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Popov.K.V
    Member
    • Mar 2019
    • 84

    #1

    XML XPath

    Добрый день!

    Подскажите как распарсить значения из xml запроса?
    из полного текста вытащить параметры PTP и shelf=0/slot=1/domain=wdm/port=2

    NCEWDM</ns4:value></ns4:rdn><ns4:rdn><ns4:type>ME</ns4:type><ns4:value>3146995</ns4:value></ns4:rdn><ns4:rdn><ns4:type>PTP</ns4:type>
    <ns4:value>/shelf=0/slot=1/domain=wdm/port=2</ns4:value></ns4:rdn><ns4:rdn><ns4:type>CTP</ns4:type><ns4:value>/och=1/odu4=1</ns4:value>
    </ns4:rdn></ns22rotectedTpRef><ns22:switchToTpRef><ns4:rdn><ns4:ty pe>MD</ns4:type><ns4:value>Huawei/NCEWDM</ns4:value></ns4:rdn><ns4:rdn>
    <ns4:type>ME</ns4:type><ns4:value>3146995</ns4:value></ns4:rdn><ns4:rdn><ns4:type>PTP</ns4:type><ns4:value>/shelf=0/slot=1/domain=wdm/port=1


  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Очевидно, при помощи правильно составленного выражения XPath.
    Чтобы ответить точнее - нужен видеть пример полного XML-а (у вас приведён только фрагмент) и те данные, которые нужно из него извлечь.
    Для отладки можно пользоваться онлайн-парсерами - я, например, пробую на этом.

    Comment

    • Popov.K.V
      Member
      • Mar 2019
      • 84

      #3
      вытащить информацию по порту "PTP</ns4:type><ns4:value>/shelf=0/slot=1/domain=wdm/port=1" можно ли присвоить 0 если /shelf=0/slot=1/domain=wdm/port=1 а если /shelf=0/slot=1/domain=wdm/port=2 то 1
      ?
      Attached Files

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Вот, честно говоря, я так и не понял, что же именно вы хотите из этого XML-а извлечь и что с этим делать дальше.
        Но, например, такой XPath:
        Code:
        //*[local-name()='rdn']/*[local-name()='type' and text()='PTP']/../*[local-name()='value']/text()
        выдёргивает вот эти две строки со значением тега ns4:value для тега ns4:type, равного "PTP":
        Code:
        /shelf=0/slot=1/domain=wdm/port=2
        /shelf=0/slot=1/domain=wdm/port=1

        Comment

        Working...