показ процента в консольном приложении .NET

В вашем XSL есть 2 ошибки:

  1. <xsl:value-of select="FcstPeriods/Period/Paragraph"/> никогда ничего не выберет, потому что <RegionalFcst> и все его дочерние элементы находятся в пространстве имен (xmlns="www.metoffice.gov.uk/xml/metoRegionalFcst").
  2. <xsl:template match="/"> не будет соответствовать <RegionalFcst>, но он будет соответствовать его родительскому элементу (невидимому). <RegionalFcst> - это первый и единственный дочерний элемент /.

Чтобы ваш XSL работал правильно, он должен выглядеть следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html>
            <body>
                <xsl:value-of select="*[local-name()='RegionalFcst']/*[local-name()='FcstPeriods']/*[local-name()='Period']/*[local-name()='Paragraph']"/>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
29
задан Ronnie Overby 4 September 2009 в 13:59
поделиться

2 ответа

Выведите \ r , чтобы вернуться в начало строки (но не печатайте новую строку!)

Например:

using System;
using System.Threading;

class Test
{
    static void Main()
    {
        for (int i=0; i <= 100; i++)
        {
            Console.Write("\r{0}%", i);
            Thread.Sleep(50);
        }
    }
}
73
ответ дан 28 November 2019 в 00:46
поделиться

Вы можете использовать:

Console.SetCursorPosition();

, чтобы правильно установить положение.

Вроде так:

Console.Write("Hello : ");
for(int k = 0; k <= 100; k++){
    Console.SetCursorPosition(8, 0);
    Console.Write("{0}%", k);
    System.Threading.Thread.Sleep(50);
}

Console.Read();
17
ответ дан Noon Silk 11 October 2019 в 14:43
поделиться
Другие вопросы по тегам:

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