powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Из одного дерева получить совсем другое
5 сообщений из 5, страница 1 из 1
Из одного дерева получить совсем другое
    #36120628
Grundiss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<root>
      <здесь>
          <могут>sometext</быть>
          <абсолютно>
                  sometext_1
                  <разделитель name="1"/>
          </абсолютно>
      </здесь>
      <разделитель name="1"/>
      <любые/>
      <теги>sometext_2</теги>
</root>

и его надо привести к виду

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<root>
     <section name="1">
           sometext_1
     </section>
     <section name="1">
           sometext_2
     </section>
</root>


То есть, существует разделитель (на какой глубине он -- неизвестно), согласно которому формируются секции. В секцию копируются текстовые узлы, которые предшествуются разделителю

Полный затуп =(
...
Рейтинг: 0 / 0
Из одного дерева получить совсем другое
    #36121365
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrundissТо есть, существует разделитель (на какой глубине он -- неизвестно), согласно которому формируются секции. В секцию копируются текстовые узлы, которые предшествуются разделителюКак-то у Вас пример не соответстует условию
...
Рейтинг: 0 / 0
Из одного дерева получить совсем другое
    #36121834
Grundiss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не замечаю, чтобы он не соответствовал условию.
Ну ее эту абстракцию :)
Задача стоит такая: есть HTML, в нем натыканы (некоторым, не самым логичным, образом) картинки. Надо переформировать дерево так, чтобы весь текст (без тегов) оказался в одной секции, затем шла картинка, потом дальше текст.
...
Рейтинг: 0 / 0
Из одного дерева получить совсем другое
    #36164764
klmntmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Grundiss блин почти такая же фигня
как нить удалось решить проблемму?
...
Рейтинг: 0 / 0
Из одного дерева получить совсем другое
    #36168124
mcTep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то типа того??

html:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="utf-8"?>
<html>
	<head/>
	<body>
		<p>SomeText1</p>
		<img src="http://www.google.ru/intl/en_com/images/logo_plain.png"/>
		<div>
			<p>SomeText2</p>
			<img src="http://www.google.ru/intl/en_com/images/logo_plain.png"/>
			<span>Hello</span>
		</div>
		<p>
			Some
			<b>Text3</b>
		</p>
		<img src="http://www.google.ru/intl/en_com/images/logo_plain.png"/>
	</body>
</html>

xsl:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     version="1.0">
    <xsl:output method="xml" indent="yes" 
	omit-xml-declaration="yes"/>
    <xsl:strip-space elements="*"/>
	
    <xsl:template match="/">
		<xsl:apply-templates select="*"/>
    </xsl:template>
	
	<xsl:template match="*[text()]">
		<section>
			<xsl:value-of select="normalize-space(text())"/>
		</section>
		<xsl:apply-templates select="./*"/>
	</xsl:template>
	
	<xsl:template match="img">
		<img src="{@src}"/>
	</xsl:template>
</xsl:stylesheet>

Output:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<section>SomeText1</section>
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png"/>
<section>SomeText2</section>
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png"/>
<section>Hello</section>
<section>Some</section>
<section>Text3</section>
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png"/>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Из одного дерева получить совсем другое
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]