2014-02-06 2 views
0

У меня есть XMLLike этоСНП XML на основе текста дочернего узла

<GLLines DataTypeID="GEN" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <GLLine> 
    <SYS_COMPANY_CODE>NB</SYS_COMPANY_CODE> 
    <ACCT_DOC_NUM>12720829</ACCT_DOC_NUM> 
    <ACCT_DOC_LINE>22114739</ACCT_DOC_LINE> 
    </GLLine> 
    <GLLine> 
    <SYS_COMPANY_CODE>NB</SYS_COMPANY_CODE> 
    <ACCT_DOC_NUM>12720827</ACCT_DOC_NUM> 
    <ACCT_DOC_LINE>22114740</ACCT_DOC_LINE> 
    </GLLine> 
    <GLLine> 
    <SYS_COMPANY_CODE>NB</SYS_COMPANY_CODE> 
    <ACCT_DOC_NUM>12720830</ACCT_DOC_NUM> 
    <ACCT_DOC_LINE>22114739</ACCT_DOC_LINE> 
    </GLLine> 
    <GLLine> 
    <SYS_COMPANY_CODE>NB</SYS_COMPANY_CODE> 
    <ACCT_DOC_NUM>12720830</ACCT_DOC_NUM> 
    <ACCT_DOC_LINE>22114738</ACCT_DOC_LINE> 
    </GLLine> 
</GLLines> 

Я хочу, чтобы сортировать по Acct DOC NUM и Acct док линии .Я попытался XSLT, но я не знаю, как это сделать .so я получаю неправильный ответ

ответ

1

Начните с преобразованием идентичности что просто копирует входной сигнал выхода без изменений.

<xsl:template match="@*|node()"> 
    <xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy> 
</xsl:template> 

Теперь вы можете добавить определенный шаблон для GLLines элемента сортировать его дети

<xsl:template match="GLLines"> 
    <xsl:copy> 
    <xsl:apply-templates select="GLLine"> 
     <!-- sort first on the ACCT_DOC_NUM --> 
     <xsl:sort select="ACCT_DOC_NUM" data-type="number" order="ascending" /> 
     <!-- for lines with the same doc num, sort by line --> 
     <xsl:sort select="ACCT_DOC_LINE" data-type="number" order="ascending" /> 
    </xsl:apply-templates> 
    </xsl:copy> 
</xsl:template> 
+0

Это все еще d issplaying как текст не как XML. Я открываю в IE – saikri

+0

Это я дал в XML-документе saikri

+0

@ user2945777, если вы делая преобразование в браузере, тогда вам, вероятно, придется преобразовать его в какое-то представление HTML, а не просто переупорядочить исходный XML. Браузер будет отображать только древовидную структуру XML, если есть таблица _no_ stylesheet, как только вы предоставите таблицу стилей, браузер предполагает, что вы преобразуете XML в то, что он знает, как правильно отображать. –

-1

Попробуйте это:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/> 
    <xsl:template match="@*|node()"> 
    <xsl:copy> 
     <xsl:apply-templates select="@*|node()"> 
     <xsl:sort select="ACCT_DOC_NUM"/> 
     </xsl:apply-templates> 
    </xsl:copy> 
    </xsl:template> 
</xsl:stylesheet> 
+0

Я пытался, но я не смог добиться не .Я возможность получать в XML формат и сортировка также неверны – saikri

+0

Можете ли вы разместить свой xsl? – bdn02

+0

\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t saikri

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