2015-09-23 1 views
0

Привет новое Xpath и надеясь, что это имеет смысл ...Xpath - Извлечение элемента Значения атрибутов, если он содержит другие элементы

Только интересует конкретный элемент и его значения атрибутов ... вопрос, который я бегу в этот элемент содержит вложенные элементы.

Обратите внимание: ЗАДАЧА не является корневым элементом ...

Вот пример:

 <TASK CHAPNBR="00" FUNC="000" PGBLKNBR="0" SECTNBR="00" SEQ="000" SUBJNBR="00" PGBRK="NO"> 
     <EFFECT/> 
     <TITLE>Aircraft Pre-Dock</TITLE> 
     <TOPIC PGBRK="NO"> 
      <EFFECT/> 
      <TITLE>Aircraft Exterior walk around GVI from Ground Level.</TITLE> 
      <SUBTASK CHAPNBR="00" FUNC="000" PGBLKNBR="0" SECTNBR="00" SEQ="000" SUBJNBR="00" PGBRK="NO"> 
       <LIST1> 
       <L1ITEM PGBRK="NO"> 
        <PARA>Radome and Fuselage</PARA> 
       </L1ITEM> 

только заинтересован в элементе ЦЕЛЕВОЙ и его атрибуты ... так нужен Xpath, чтобы вернуть этот строка независимо от того, какие значения атрибута

<TASK CHAPNBR="00" FUNC="000" PGBLKNBR="0" SECTNBR="00" SEQ="000" SUBJNBR="00" PGBRK="NO"> 

Благодарим за помощь! :)

+0

Всегда ли такой же набор атрибутов? Xpath автоматически не форматирует результат как XML, но вы можете использовать concat() со строковыми литералами ... – DrWatson

+0

Привет ... да, всегда один и тот же набор атрибутов, спасибо. –

ответ

0

Это, вероятно, будет что-то вдоль линий

concat('<TASK CHAPNBR="', //TASK/@CHAPNBR, '" FUNC="', //TASK/@FUNC, '" etc. >') 

и так далее. Это предполагает, что у вас есть только один элемент TASK, и набор атрибутов, который вам нужно получить, всегда одинаковый.

+0

Благодарим вас за информацию ... получение этого сообщения об ошибке в BaseX 7.7 - «Атрибуты не могут быть сериализованы» ... –

+0

См. Http://stackoverflow.com/questions/24663393/basex-attributes-cannot-be-serialized – DrWatson