代码之家  ›  专栏  ›  技术社区  ›  edosoft

是否有使用.NET的转换引擎或库?

  •  3
  • edosoft  · 技术社区  · 17 年前

    我们正在寻找一个可以读取任何输入(EDIFACT文件、CSV、XML等)的转换库或引擎。因此,包含必须转换为已知业务对象结构的数据的文件(或WebServices结果)。应使用自定义规则将此数据转换为现有业务对象。XSLT既复杂(学习)又简单(功能不够)

    有人能推荐C库或引擎吗?我看过Altova Mapforce,但我想给几十个人发送一些东西,他们可以构建/设计自己的转换,而无需支付几十个Altova许可证。

    5 回复  |  直到 9 年前
        1
  •  3
  •   Tim B    9 年前

    如果您认为XSLT对您来说太困难,那么我认为您可以尝试使用LinqToXML来解析XML文件。它集成在.NET框架中,您可以使用C(或者,如果使用vb.net 9.0,最好是使用XML文本),而不是学习其他语言。您可以将它与现有的应用程序集成,而无需付出太多的努力,也不必考虑语言和XSLT中出现的文件管理之间的范例不匹配。

    Microsoft LINQ to XML

    当然,它不是用于分析文件的框架或库,但XSLT都不是,所以…

        2
  •  2
  •   user8032    17 年前

    XSLT不适用于EDI和CSV。如果你想要一个完全通用的转换引擎,你可能需要花点钱。我已经用过 Symphonia 对于处理电子数据交换,它是有效的,但它不是免费的。

    你所描述的问题听起来很“进取”(我敢肯定没有人用EDI来娱乐),所以没有开源/免费的工具来处理这些问题。

        3
  •  1
  •   brodie    17 年前

    我不会因为太复杂或不包含您需要的功能而很快忽略XSLT。

    有很多书/网站描述了您需要了解的关于XSLT的所有信息。是的,有一点学习曲线,但不需要花太多的时间去学习,如果需要帮助,总会有一个像StackOverflow这样的伟大社区可以求助;-)

    对于缺少功能的情况,可以始终扩展XSLT,并使用 xsltargumentlist.addextensionObject()方法,它将为您提供所需的功能。

    msdn有一个很好的使用这个的例子 here

    确实,mapforce和biztalk应用程序使创建XSLT变得非常容易,但它们也有一些成本。另外,根据您的用户群(假设非开发人员),我认为您会发现这些应用程序有自己的学习曲线,并且通常功能丰富,无法满足您的需要。

    我建议您考虑根据用户的需要构建和分发自己的自定义映射工具。

    另外,如果您需要一个库来帮助进行文件转换,我建议您 FileHelpers 在SoeC锻炉

        4
  •  1
  •   lavinio    16 年前

    DataDirect Technologies有一款可以做到这一点的产品。 AT http://www.xmlconverters.com/ 有一个名为xmlconverters的库,它将EDI转换为XML,反之亦然。还有csv、json和其他格式的转换器。 这些库可作为100% .NET托管代码,以及100% Java中的并行端口。 .NET侧支持XMLRead和XMLWrror,而Java端支持SAX、StAX和DOM。两者都支持流和读写器I/O。 DATAudit也有一个XQuery引擎,用于将关系数据与EDI和XML合并,但它只是Java。

        5
  •  0
  •   John Hunter    17 年前