我正在从事一个使用以下技术的项目。Java、XML、XSL大量使用XML。我经常需要-将一个XML文档转换成另一个-在应用一些业务逻辑后将一个XML文档转换为另一个。所有内容都将构建到EAR中并部署到应用程序服务器上。由于用户数量庞大,在定义编码标准之前,我需要考虑性能。我不是XSL的忠实粉丝,但我想了解在这种情况下使用XSL是否是更好的选择,或者我应该只坚持使用Java。请注意,我只要求将XML转换为XML格式。我没有将XML转换为其他格式(如HTML等)的要求。从性能和可维护性的角度来看-对于XML到XML的转换,JAVA不是比使用XLST更好的选择吗?
我即将使用VTD-XML(在http://vtd-xml.sourceforge.net/找到),但我有兴趣获得任何使用过该库并有任何评论的人的实际使用反馈。在URL(http://vtd-xml.sourceforge.net/)上有基准测试,但如果有人使用过VTD-XML并且对它有评论,我想听听他们的意见。速度是应用程序中的一个关键因素,开发人员实际使用后的评论正是我所寻找的。问候, 最佳答案 我使用VTD-XML来获得更快的XPath。以前,我的应用程序使用DOM在一个17MB的文档上花费了大约20分钟的时间来应用XPaths
这对我来说是新的。我有一个新老板在工作,他坚持我们从现在开始做的每一个查询都是一个带有XML序列化参数和返回类型的存储过程。我还没有运行任何测试,但我觉得这太过分了,而且在很多方面都可能成为性能killer。您的体验如何? 最佳答案 虽然它是一个明显的性能killer(想象一下解析从存储过程返回的几兆XML),但它更是生产力、可伸缩性和可维护性的killer。在T-SQL中使用XML并非完全无痛,也不是无缝的。支持将是一场噩梦:想象一下,向结果集中添加一个列,这将导致序列化和反序列化代码中的大量修改。此外,您将无法使用ORM工具,也
我正在创建一个xslstylehseet并想出了这个(在我看来是不合逻辑的行为):这个XPath:/root/element[1][@attr1!='1'or@attr2!='test']比这个XPath慢得多:/root/element[count(preceding-sibling::element)+1=1)and(@attr1!='1'or@attr2!='test')]我有50个示例xml,第一个XPath需要大约55秒。使用第二个XPath需要大约4秒!我使用XslCompiledTransform(C#.NET4.5)。有人可以解释为什么第一个XPath比第二个慢得多吗?
我正在处理大量包含HL7信息的XML文件。这些XML文件的结构在几个复杂的XSD文件中进行了描述。它们是XSD文件的层次结构。像这样:消息.xsd批处理.xsd数据类型.xsdFields.xsd更多文件.xsdFields.xsd这不是确切的用法,但它有助于传达它们的工作原理。现在我可以跑了xsd.\messages.xsd/classes它会生成一个名为messages.cs的文件,该文件的长度超过240,000行。注意:尽管XSD很复杂,但实际的xml文件平均约有250行XML,每行约25个字符(不是很大)。我可以使用该文件反序列化我的xml文件,如下所示:varbytes=En
我得到了这样的XML代码:2016200555Martinmasomeveryusefulinformation:)我只需要一个标签,e。G。学年我试过这个:foreach(XElementelementinDocument.Descendants("Schoolyear")){myDestinationVariable=element.Value;}它有效,但我认为也许有更高效、更简单的解决方案。 最佳答案 您可以使用LINQ获取它,或者只使用带有指定XName的Element添加命名空间usingSystem.Xml.Linq;
我们开始调查一个需要一些棘手的XML解析的项目。我喜欢Groovy的XmlSlurper的外观(Groovy似乎是我目前的选择GoldenHammer)。我们将需要处理范围相当广泛的XML输入,而Groovy的动态特性可能会让我们制定出一个简洁明了的解决方案。我们拭目以待。一个问题是这种灵active和动态性在速度方面的成本,尽管我还没有对此进行测试。有人对这个有经验么?与一些用于解析XML的Java替代方案相比,Groovy和XmlSlurper是特别快还是特别慢? 最佳答案 我没有看到XmlSlurper有严重的性能问题,但您应
SAMPLEPhase:Planning>>Performance我试图找到上面带有“Phase:Planning>>Performance”文本的元素,但无济于事。尝试使用://*[text()[contains(normalize-space(.),'Phase:Planning>>Performance')]] 最佳答案 当前存在的其他三个答案都不会完全按照您的要求进行。这里有一些XPath表达式将:您可以选择规范化字符串的small元素值是Phase:Planning>>Performance通过这个XPath://smal
我正在尝试将xml文件加载到我的应用程序并将其显示在ListBox上。问题是xml文件大约5MB,在手机上加载大约需要40秒。当手机锁定屏幕并返回时,又需要40秒。我尝试使用isolatedstorage将数据存储在其上,但它并没有提高性能。这是我加载数据的代码:XDocumentloadedData=XDocument.Load("BigFile.xml");vardata=fromqueryinloadedData.Descendants("w")orderby(string)query.Element("e")selectnewmyClass{First=(string)quer
我正在处理一个XML文件,该文件在使用XPath样式选择器选择节点时性能非常慢。这是运行特别慢的部分代码for(i=0;i我认为这段代码中最慢的部分是Lane[num=X]选择器,我怎样才能提高它的性能?我可以缓存$(this).find("Lanes")并稍后搜索它们吗?XML示例: 最佳答案 试试这个:http://jsperf.com/1f我设法提高了速度。附注它基于这样一个事实,即所有channel在每个xml节点中的顺序相同。 关于javascript-jQuery-在处理XM