Написать шаблон XSL для вложенного узла - PullRequest
0 голосов
/ 18 октября 2018

У меня есть приведенная ниже структура XML, которая является упрощенной версией большого XML, и мне нужно написать шаблон XSL, чтобы получить данные из определенного узла (Dimensions).

У меня уже есть XSL для преобразования.Существует новый узел <Dimensions>, который добавляется, и это может происходить несколько раз внутри узла, как показано ниже.Мне нужно прочитать данные из general/electronics/tv/description/Dimensions и вывести их содержимое (содержимое тега div) в итоговый вывод HTML.<Dimensions> может также встречаться под узлом software/version/description/Dimensions или любым другим узлом.

Поэтому мой вопрос:
Существует ли общий способ написания шаблона, который может читатьсодержимое тега <Dimensions> и вывод его содержимого?Мне нужна помощь в написании шаблона XSL для этого тега.

<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Greatest Hits</title>
    <artist>Dolly Parton</artist>
    <country>USA</country>
    <company>RCA</company>
    <price>9.90</price>
    <year>1982</year>
  </cd>
  <DVD>
    <title>Still got the blues</title>
    <artist>Gary Moore</artist>
    <country>UK</country>
    <company>Virgin records</company>
    <price>10.20</price>
    <year>1990</year>
  </DVD>
  <DVD>
    <title>Eros</title>
    <artist>Eros Ramazzotti</artist>
    <country>EU</country>
    <company>BMG</company>
    <price>9.90</price>
    <year>1997</year>
  </DVD>
  <general>
  	<electronics>
  		<tv>
  			<name>samsung</name>
  			<model>2.1</model>
  		</tv>
  		<tv>
  			<name>vizio</name>
  			<model>2.1</model>
  			<description>
  				<span>PurColor: Enjoy millions of shades of color, fine tuned to create an incredibly vibrant picture</span>
  				<Dimensions> <div>3.6 width</div></Dimensions>
  				<span>Enjoy subtle details hidden in the shadows of color and darkness with precise lighting that reveals a lifelike picture.</span>
  				<Dimensions><div>4.8 height<div></Dimensions>
  			</description>
  		</tv>
  	</electronics>
  </general>
  <software>
  	<version>
    	<title>Sylvias Mother</title>
    	<artist>Dr.Hook</artist>
    	<country>UK</country>
    	<company>CBS</company>
    	<price>8.10</price>
    	<year>1973</year>
    	<description>
  			<span>Electric water kettle with 1.0-liter capacity and 1500 watts of power for fast results (120V ~60Hz)</span>
  			<Dimensions> <div>5.6 width</div></Dimensions>
  			<span>cordless design allows for easy filling and serving; power base with 30-inch power cord for flexible placement, plus cord wrap for compact storage.</span>
  			<Dimensions><div>5.8 height</div></Dimensions>
  		</description>
    <version>
  </software>
 
</catalog>

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете получить узел нужного элемента с помощью выражения XPath

/catalog/general/electronics/tv/description/Dimensions
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...