C#XSLT转换添加
 和
 到输出

DMC*_*MCS 19 c# xslt whitespace

我有一个XSLT转换问题:

style="width:{Data/PercentSpaceUsed}%;"
Run Code Online (Sandbox Code Playgroud)

Data/PercentSpaceUsed的值是整数3.

它输出:

style="width:
     3
 %;"
Run Code Online (Sandbox Code Playgroud)

而不是我的预期:

style="width:3%;"
Run Code Online (Sandbox Code Playgroud)

下面是做转换的代码:xslt_xslt是转换XML,sw.ToString()包含了
这是我没有想到.

var xslTransObj = new XslCompiledTransform();
var reader = new XmlTextReader(new StringReader(xslt_xslt));
xslTransObj.Load(reader);
var sw = new StringWriter();
var writer = new XmlTextWriter(sw);
xslTransObj.Transform(new XmlTextReader(new StringReader(xslt_data)), writer);

ResultLiteral.Text = sw.ToString();
Run Code Online (Sandbox Code Playgroud)

Rob*_*Day 28


是回车和换行的XML或您的XSLT内部将两种.确保xml是这样的

<Value>3</Value>
Run Code Online (Sandbox Code Playgroud)

而不是

<Value>
    3
</Value>
Run Code Online (Sandbox Code Playgroud)

我相信有一种方法可以阻止在你的转型中使用空格,虽然我不知道它在我的头顶.

  • 但是数据文件有回车:-( (2认同)

jel*_*irt 11

您从源文档获取空格.使用

style="width:{normalize-space(Data/PercentSpaceUsed)}%;"
Run Code Online (Sandbox Code Playgroud)

去除空白.您的另一种选择是使用

style="width:{number(Data/PercentSpaceUsed)}%;"
Run Code Online (Sandbox Code Playgroud)