【问题标题】:C# XslCompiledTransform - output in form of POCO instead of HtmlC# XslCompiledTransform - 以 POCO 形式而不是 Html 输出
【发布时间】:2020-10-20 20:41:51
【问题描述】:

我正在尝试读取 xml 文件并将其内容插入数据库。 我遇到了 XSLT 转换,它真的又快又好。以下代码可以正常工作,并且在 result.html 中可以看到数据

var settings = new XsltSettings(true, true);
var xslt = new XslCompiledTransform();
xslt.Load("filename.xsl", settings, new XmlUrlResolver());
xslt.Transform("xmlfileName.xml", "result.html");

但是我想从 XML 中获取数据并将其插入到数据库中。

是否可以通过 XSLT 转换?就像不是输出为 HTML 一样,有没有办法以任何其他格式获取此数据,以便我可以将其拾取并将其插入数据库。

我知道这可以通过 xml 反序列化来完成,但是我想知道这是否也可以通过 XSLT 来完成。它会非常快速和酷!

【问题讨论】:

    标签: c# xml xslt


    【解决方案1】:

    XSLT 1 的主要输出格式是 XML,因此您当然可以创建 XML 输出(使用您想要的数据)而不是 HTML。如何将 XML 插入数据库是另一个主题。

    XSLT 1 还可以创建纯文本输出,因此对于某些受限用途,如果您有一个需要 CSV 或类似格式的现有 API,您当然也可以让 XSLT 创建该文本格式。

    使用 .NET 版本的 Saxon 9.9 或 9.8 支持的 XSLT 3 也可以将 JSON 创建为 XdmMap 或 XdmArray,然后将其转换为 .NET 字典,例如,参见例如http://saxonica.com/html/documentation9.9/dotnetdoc/Saxon/Api/XdmMap.htmlhttp://saxonica.com/html/documentation9.9/dotnetdoc/Saxon/Api/XdmMap.html#AsDictionary()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      相关资源
      最近更新 更多