XPath Выберите значения без "isNull" - PullRequest
0 голосов
/ 31 августа 2018
<?xml version="1.0" encoding="UTF-8"?>
   <rows>
      <row>
         <c n="ColorName">Cyan</c>
         <c isNull="1" n="ColorType"/>
         <c isNull="1" n="ColorBook"/>
         <c isNull="1" n="SpotFunction"/>
         <c n="Angle">45.0</c>
      </row>
      <row>
         <c n="ColorName">HG8-Black</c>
         <c isNull="1" n="ColorType"/>
         <c n="ColorBook">designer</c>
         <c n="SpotFunction">RY</c>
         <c n="Angle">45.0</c>
      </row>
   </rows>

У меня есть эта структура, и мне нужно получить некоторые значения с этим XPath:

/rows/row/c[3]/text()

Моя проблема в том, что иногда у меня есть этот атрибут isNull="1", и я получаю сообщение об ошибке, потому что нет значения. Можно игнорировать строку, когда нет значения?

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Используйте это выражение XPath:

/rows/row/c[3][@isNull]/text()
0 голосов
/ 31 августа 2018

Попробуйте ниже, чтобы избежать совпадения c узлов с атрибутом isNull:

/rows/row/c[3][not(@isNull)]/text()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...