21

XSLT変換の問題があります:

style="width:{Data/PercentSpaceUsed}%;"

また、Data/PercentSpaceUsedの値は整数3です。

そしてそれは出力します:

style="width:
     3
 %;"

私が期待したものの代わりに:

style="width:3%;"

変換を行うコードは次のとおりです。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();
4

3 に答える 3

30


XMLまたはXSLT内のキャリッジリターンとラインフィードです。xmlが次のようになっていることを確認してください

<Value>3</Value>

それよりも

<Value>
    3
</Value>

頭のてっぺんから空白を使用することはわかりませんが、変換内で空白が使用されるのを防ぐ方法があると思います。

于 2009-05-11T16:16:39.053 に答える
11

ソースドキュメントから空白を取得しています。使用する

style="width:{normalize-space(Data/PercentSpaceUsed)}%;"

空白を削除します。あなたの場合の他のオプションは使用することです

style="width:{number(Data/PercentSpaceUsed)}%;"
于 2009-05-11T19:19:16.853 に答える
3

試す


XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = true;
settings.IndentChars = "\t";
settings.NewLineHandling = NewLineHandling.None;
XmlWriter writer = XmlWriter.Create(xmlpath, settings);

属性値の出力で保持される入力空白。

注:上記の設定では、タブはインデントに使用されます

于 2011-03-10T19:44:29.750 に答える