2014-10-02 5 views
-1

Я ищу функцию XSLT для получения значения атрибута из файла XML. Формат xml-файла ниже,Получить значение атрибута с помощью функции XSLT

<?xml version='1.0'?> 

<collection id="b1" title="Employers and Employees" filename="Y:\Content\test.nfo" password=""> 

<field name="test" index="yes" phrase="no" stop-words="yes" term-list="no" proximity="yes"/> 
<field name="form" index="yes" phrase="no" stop-words="yes" term-list="no" proximity="yes"/> 
<field name="stat" index="yes" phrase="no" stop-words="yes" term-list="no" proximity="yes"/> 

Как я могу получить идентификатор и значение названия?

Спасибо.

+1

Очень неясно, что вы просите. Вы не показываете хорошо сформированный XML, используйте термин «функция XSLT», но, скорее всего, имеете в виду что-то еще, вы не показываете XSLT-код. –

ответ

0

Чтобы иметь действительный файл XML, он должен начинаться и заканчиваться одной и той же сущности. В вашем случае он должен заканчиваться закрытием </collection>.
Как вы имеете в виду XSLT, следующий шаблон возвращает оба значения (при добавлении закрытия коллекторно-тег):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" indent="yes"/> 
<xsl:template match="/*"> 
    <xsl:value-of select="/collection/@id"/> 
    <xsl:value-of select="/collection/@title"/> 
</xsl:template> 
</xsl:stylesheet> 

Выход: <?xml version="1.0" encoding="UTF-8"?>b1Employers and Employees

Как неясно, как вы хотите, чтобы продолжить с извлеченные значения и просто хотели узнать, как их получить, а просто вывод XML в качестве примера.

+0

Спасибо, Маттиас. Сработало. – neel

0

С текущего узла:

<xsl:value-of select="@id"/> 
Смежные вопросы