草庐IT

xml - jaxb 或 Coldfusion 的等价物

coder 2024-07-01 原文

我对此很陌生,所以请放轻松。

据我了解,JAXB 允许程序员使用 Java 类编写 XML,并且它负责通过读取 XSD 创建正确的 XML 结构。这样,当模式发生变化时,程序员不必返回并重写一堆硬编码的 XML,因为 JAXB 会根据最新模式自动将 java 类转换为 XML。这是对的吗?

ColdFusion 是否有 JAXB 的等价物,或者它可以与 ColdFusion 一起使用吗? CF 是否内置了这个?

如果我偏离了基地,请告诉我。

提前致谢。

最佳答案

如果您非常喜欢 JAXB,您可以轻松地使用 JavaLoader(从来没有遇到过问题,它是企业级的 http://javaloader.riaforge.org/)并且使用您的库几乎是一样的。好吧,你可能不得不像这样做一些“愚蠢”的事情:

var byteClass = createObject("java", "java.lang.Byte").TYPE;
var byteArray = createObject("java","java.lang.reflect.Array").newInstance(byteClass, javacast( "int", 4096 ));

但我想这比浪费时间找出一些新库要好得多。

下面是如何使用 STaX2 解析 huuge XML 文件的示例:

<cfscript>
            var loadPaths = [ expandPath('#application.libpath#java/jars/stax2-api-3.0.1.jar')
                             ,expandPath('#application.libpath#java/jars/woodstox-core-lgpl-4.0.5.jar')];
            var javaloader = createObject("component", "#application.libpath#.java.javaloader.JavaLoader").init(loadPaths); 

            var fileStream = createObject("java","java.io.FileInputStream").init(arguments.file);
            var XMLInputFactory = javaloader.create("org.codehaus.stax2.XMLInputFactory2").newInstance();
            var XMLStreamConstants = CreateObject( "java", "javax.xml.stream.XMLStreamConstants");
            var XMLStreamReader = XMLInputFactory.createXMLStreamReader(fileStream);

</cfscript>

关于xml - jaxb 或 Coldfusion 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162020/

有关xml - jaxb 或 Coldfusion 的等价物的更多相关文章

  1. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  2. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  3. java - Java 的 StringReader 的 Ruby 等价物是什么? - 2

    在Java中,可以像这样从一个字符串创建一个IO流:Readerr=newStringReader("mytext");我希望能够在Ruby中做同样的事情,这样我就可以获取一个字符串并将其视为一个IO流。 最佳答案 r=StringIO.new("mytext")和here'sthedocumentation. 关于java-Java的StringReader的Ruby等价物是什么?,我们在StackOverflow上找到一个类似的问题: https://st

  4. ruby-on-rails - 如何在 Rails 3 中禁用 XML 解析 - 2

    我想禁用HTTP参数的自动XML解析。但我发现命令仅适用于Rails2.x,它们都不适用于3.0:config.action_controller.param_parsers.deleteMime::XML(application.rb)ActionController::Base.param_parsers.deleteMime::XMLRails3.0中的等价物是什么? 最佳答案 根据CVE-2013-0156的最新安全公告你可以将它用于Rails3.0。3.1和3.2ActionDispatch::ParamsParser::

  5. ruby - 如何使用 Nokogiri::XML::Builder 生成动态标签? - 2

    我正在遍历数组中的一组标签名称,我想使用构建器打印每个标签名称,而不是求助于“我认为:builder=Nokogiri::XML::Builder.newdo|xml|fortagintagsxml.tag!tag,somevalendend会这样做,但它只是创建名称为“tag”的标签,并将标签变量作为元素的文本值。有人可以帮忙吗?这个看起来应该比较简单,我刚刚在搜索引擎上找不到答案。我可能没有以正确的方式提问。 最佳答案 尝试以下操作。如果我没记错的话,我添加了一个根节点,因为Nokogiri需要一个。builder=Nokogi

  6. ruby - 如何让 Nokogiri 解析并返回 XML 文档? - 2

    这是一些奇怪的例子:#!/usr/bin/rubyrequire'rubygems'require'open-uri'require'nokogiri'print"withoutread:",Nokogiri(open('http://weblog.rubyonrails.org/')).class,"\n"print"withread:",Nokogiri(open('http://weblog.rubyonrails.org/').read).class,"\n"运行此返回:withoutread:Nokogiri::XML::Documentwithread:Nokogiri::

  7. python - 什么是 Python 输出的 Ruby 等价物 [ :-1]? - 2

    在Python中,如果我想得到字符串的前n个字符减去最后一个字符,我会这样做:output='stackoverflow'printoutput[:-1]什么是Ruby等价物? 最佳答案 我不想太挑剔,但如果你想更像Python的方法,而不是做"StackOverflow"[0..-2]你可以做"StackOverflow"[0...-1]相同的结果。在Ruby中,带3个点的范围不包括正确的参数,而带两个点的范围包括它。因此,在字符串切片的情况下,三个点更接近Python的语法。 关于p

  8. ruby - 模式加载时出现 Nokogiri::XML::Schema SyntaxError - 2

    我正在尝试加载SAML协议(protocol)架构(具体来说:https://www.oasis-open.org/committees/download.php/3407/oasis-sstc-saml-schema-protocol-1.1.xsd),但在执行此操作之后:schema=Nokogiri::XML::Schema(File.read('saml11_schema.xsd'))我得到这个输出:Nokogiri::XML::SyntaxErrorException:Element'{http://www.w3.org/2001/XMLSchema}element',att

  9. ruby-on-rails - 为什么 do/end 和 {} 不总是等价的? - 2

    这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:RubyblockandunparenthesizedargumentsWhatisthedifferenceorvalueoftheseblockcodingstylesinRuby?我一直认为以下只是同一件事的两种表达方式:[1,2,3].collect{|i|i*2}[1,2,3].collectdo|i|i*2end但是我在我的一个ERB模板中发现了一些奇怪的行为,这两种语法似乎在做两件不同的事情。这段代码效果很好:m))}}%>但是当我将其重写为:m))endend%>...我最终得到了我的@men

  10. Java 有 FindBugs。 Ruby 的等价物是什么? - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:AutomaticcodequalitytoolforRuby?Java有FindBugs™。Ruby的等价物是什么?

随机推荐