2013-08-17 3 views
0

У меня есть этот XML-файл:Как просмотреть узлы xml по id?

<?xml version="1.0" encoding="UTF-8"?> 
<product name="civil"> 
<day>Moonday</day> 
    <dataseries> 
    <data timepoint="3h"> 03:00 </data> 
    <data timepoint="6h"> 06:00 </data> 
    <data timepoint="9h"> 09:00 </data> 
    <data timepoint="12h"> 12:00 </data> 
    <data timepoint="15h"> 15:00 </data> 
    <data timepoint="18h"> 18:00 </data> 
    <data timepoint="21h"> 21:00 </data> 
    <data timepoint="24h"> 00:00 </data> 
    </dataseries> 

Как отображать чередующиеся узлы? Таким образом: 3h, 9h, 15h ... Что-то вроде:

<xsl:for-each select="product/dataseries/data" timepoint="@6h"> 

, но этот код является неправильным.

ответ

0

Попробуйте следующие

<xsl:for-each select="product/dataseries/data[@timepoint='6h']> 

В квадратных скобках может быть и более сложные условия (например, с помощью или оператора, некоторые aritmetics и т.д.) для выбора узлов нужно.

+0

Да, теперь это работает, спасибо. У меня есть еще одна проблема в этом XML-файле: Я создал ул меню и литиево следующим образом:

info1, info2 и info3 имеют нулевое значение, то у меня есть изображение «000.png», но не отображается. – user2691288

+0

Будьте осторожны с контекстом - в вашем for-each вы обрабатываете элемент данных. '' возвращает строковое значение элемента '' находится под '' элементом, который фактически обрабатывается. Но нет элемента этого имени (в вашем примере xml), чтобы он возвращал пустую строку. –

Смежные вопросы