gpt4 book ai didi

c# - 如何使用 .NET 中的文件将 XML 转换为不带字符串的字符串?

转载 作者:IT王子 更新时间:2023-10-29 04:29:19 24 4
gpt4 key购买 nike

假设我有两个字符串:

  • 一个是XML数据
  • 另一个是XSL数据。

xml 和 xsl 数据存储在数据库列中,如果您必须知道的话。

如何在不先将 xml 和 xsl 保存为文件的情况下在 C# 中转换 XML?我也希望输出是一个字符串(来自转换的 HTML)。

C# 似乎更喜欢通过文件进行转换。我在 XslCompiledTransform 中找不到 Load() 的字符串输入重载。所以,这就是我问的原因。

最佳答案

这是我的经历。这是你的答案的组合。我对激发此灵感的答案投了赞成票:

string output = String.Empty;
using (StringReader srt = new StringReader(xslInput)) // xslInput is a string that contains xsl
using (StringReader sri = new StringReader(xmlInput)) // xmlInput is a string that contains xml
{
using (XmlReader xrt = XmlReader.Create(srt))
using (XmlReader xri = XmlReader.Create(sri))
{
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(xrt);
using (StringWriter sw = new StringWriter())
using (XmlWriter xwo = XmlWriter.Create(sw, xslt.OutputSettings)) // use OutputSettings of xsl, so it can be output as HTML
{
xslt.Transform(xri, xwo);
output = sw.ToString();
}
}
}

注意:xsl 中需要此语句,以便输出为 HTML:

<xsl:output method="html" omit-xml-declaration="yes" />

关于c# - 如何使用 .NET 中的文件将 XML 转换为不带字符串的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com