-1

Visual Studio 2010 および C# を使用した XSLT 変換。助けが必要です。変換方法に応じて、異なる出力が得られます。VS デバッガーで変換を実行すると、次の出力が得られます。エスケープされていないタグに注意してください。

<Service_Log>
<row>
      <EntryNumber>00</EntryNumber>
      <ErrorID>B004</ErrorID>
      <ErrorDate>2/06/2007 18:06:07</ErrorDate>
      <ErrorInfo>00000000</ErrorInfo>
      </row>
<row>
...
</Service_Log>

次のコード スニペットを使用して C# で変換を実行すると、xml タグがエスケープされた出力が得られますが、エスケープしたくありません。私は何が欠けていますか?

XslCompiledTransform trans = new XslCompiledTransform();
XmlWriterSettings settings = new XmlWriterSettings();
string fname = FixPath(WorkingFolder) + "Phase1.xml";
XmlWriter writer = XmlWriter.Create(fname, settings);
trans.Transform(xmlFile, writer);


&lt;readsym_Service_Log&gt;
&lt;row&gt;
      &lt;EntryNumber&gt;00&lt;/EntryNumber&gt;
      &lt;ErrorID&gt;B004&lt;/ErrorID&gt;
      &lt;ErrorDate&gt;2/06/2007 18:06:07&lt;/ErrorDate&gt;
      &lt;ErrorInfo&gt;00000000&lt;/ErrorInfo&gt;

      &lt;/row&gt;
&lt;row&gt;
...
4

1 に答える 1

0

次のようなことを試してください:

        string inputFileName = @"XMLFile1.xml";
        string xsltFileName = @"XSLTFile1.xslt";
        string outputFileName = @"XMLFile2.xml";


        XslCompiledTransform trans = new XslCompiledTransform();
        XsltSettings settings = new XsltSettings();
        settings.EnableScript = true;
        trans.Load(xsltFileName, settings, null);

        XmlWriter writer = XmlWriter.Create(outputFileName);

        trans.Transform(inputFileName, writer);
于 2012-06-15T03:00:06.240 に答える