|
|
|
обработка элементов xml
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть xml <Data> <FinData> <AAA Element1="123" Element2="456" Element3="789" ....> <BBB Element4="123" Element5="456" Element3="" ....> ... <ZZZ Element6="123" Element7="456" Element3="" ....> </FinData> </Data> Нужно получить <Data> <FinData> <AAA Element1="123" Element2="456" Element3="789" ....> <BBB Element4="123" Element5="456" Element3="0" ....> ... <ZZZ Element6="123" Element7="456" Element3="0" ....> </FinData> </Data> Т.е. во всем xml документе нужно найти пустые Element3 и записать значение 0. Не пустые Element3 оставить как есть. Подскажите над реализацией. Следующие варианты не работают: 1. <xsl:template name="FinData"> <xsl:element name="FinData"> <xsl:copy-of select="/Data/FinData/@*" /> <xsl:copy-of select="/Data/FinData/*" /> <xsl:for-each select="FinData//*[@Element3='']"> <xsl:attribute name="Element3"> <xsl:value-of select="0" /> </xsl:attribute> </xsl:for-each> </xsl:element> </xsl:template> 2. <xsl:template name="FinData"> <xsl:element name="FinData"> <xsl:copy-of select="/Data/FinData/@*" /> <xsl:copy-of select="/Data/FinData/*" /> <xsl:for-each select="FinData//@Element3[.='']"> <xsl:call-template name="Element3" /> </xsl:for-each> </xsl:element> </xsl:template> <xsl:template name="Element3"> <xsl:attribute name="Element3"> <xsl:value-of select="0" /> </xsl:attribute> </xsl:template> В этом случае возникает ошибка: An attribute node (Element3) cannot be created after the children of the containing element ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 11:52 |
|
||
|
обработка элементов xml
|
|||
|---|---|---|---|
|
#18+
Забыл написать, исходный xml файл очень большой и "сложный", поэтому обработка каждого элемента по отдельности проблематично. Есть ли другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 12:46 |
|
||
|
обработка элементов xml
|
|||
|---|---|---|---|
|
#18+
Alexey_Ab, Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 14:36 |
|
||
|
обработка элементов xml
|
|||
|---|---|---|---|
|
#18+
Один шаблон лишний. Можно так: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=14&fpage=16&tid=1332446]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 118ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...