【发布时间】:2025-12-04 22:40:01
【问题描述】:
使用 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>
当我使用以下代码 sn-p 在 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);
<readsym_Service_Log>
<row>
<EntryNumber>00</EntryNumber>
<ErrorID>B004</ErrorID>
<ErrorDate>2/06/2007 18:06:07</ErrorDate>
<ErrorInfo>00000000</ErrorInfo>
</row>
<row>
...
【问题讨论】:
-
从技术上讲,如果数据包含未转义的反斜杠,则 XML 无效。
-
数据在日期字段中包含正斜杠。你是这个意思吗?
-
是的,这就是我的意思...抱歉造成混乱。也许这会阻碍转型。
-
我刚刚添加了代码以将日期字段包装在 CDATA 块中。所以不是这样的。
-
你能把你正在使用的xslt和xml文件贴出来吗?
标签: c# xml visual-studio-2010 xslt-1.0