Счетчик в xsl:for-каждом цикле

Пока текстовый файл не такой большой, вы должны просто прочитать текстовый файл в массиве, вставить элемент в определенный индекс строки и затем вернуть массив обратно в файл. Я добавил несколько примеров кода - убедитесь, что вы изменили 'file.txt', "Your String" и конкретный lineNumber.

Отказ от ответственности, я еще не успел проверить приведенный ниже код:

var fs = require('fs');

var data = fs.readFileSync('file.txt').toString().split("\n");
data.splice(lineNumber, 0, "Your String");
var text = data.join("\n");

fs.writeFile('file.txt', text, function (err) {
  if (err) return console.log(err);
});
84
задан kristof 18 September 2008 в 15:46
поделиться

4 ответа

position(). НАПРИМЕР:

<countNo><xsl:value-of select="position()" /></countNo>
136
ответ дан Tim Cooper 5 November 2019 в 16:19
поделиться

Попытка:

<xsl:value-of select="count(preceding-sibling::*) + 1" />

Редактирование - имело мозговое замораживание там, положение () более просто!

8
ответ дан Luke Bennett 5 November 2019 в 16:19
поделиться
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <newBooks>
                <xsl:for-each select="books/book">
                        <newBook>
                                <countNo><xsl:value-of select="position()"/></countNo>
                                <title>
                                        <xsl:value-of select="title"/>
                                </title>
                        </newBook>
                </xsl:for-each>
        </newBooks>
    </xsl:template>
</xsl:stylesheet>
5
ответ дан Santiago Cepas 5 November 2019 в 16:19
поделиться

Попытаться вставить <xsl:number format="1. "/><xsl:value-of select="."/><xsl:text> вместо???.

Примечание "1". - это - числовой формат.Подробнее: здесь

13
ответ дан m_pGladiator 5 November 2019 в 16:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: