草庐IT

PHP-Java

全部标签

java - StAX 内存不足错误

我正在使用以下简单的StAX代码循环访问XML中的所有标记。尺寸input.xml>100MBXMLInputFactoryxif=XMLInputFactory.newInstance();FileInputStreamin=newFileInputStream("input.xml");XMLStreamReaderxsr=XMLInputFactory.newInstance().createXMLStreamReader(in);xsr.next();while(xsr.hasNext()){xsr.next();if(xsr.isStartElement()||xsr.isE

java - XMLStreamReader - 奇怪的错误

我有以下XML代码mediumweak我使用以下代码(使用XMLStreamReader)对其进行迭代if(reader.getEventType()==XMLStreamReader.START_ELEMENT){StringelementName=reader.getName().toString();if(elementName.equalsIgnoreCase("class")){//gettheclassnameandconstructaClassclassComposition=newClassComposition();classComposition.setName(r

php simple xml 如何读取具有不同子节点级别的多个节点

我有一个xml文件,它具有不同的命名节点和多级子节点(每个节点之间都不同。)我应该如何访问数据?是否需要很多嵌套的for循环?这是一个xml代码示例:1green12到目前为止,这是我的代码:$xml=simplexml_load_file("file.xml");echo$xml->getName()."start_info";foreach($xml->children()as$child){echo$child->getName().":".$child."";} 最佳答案 下面是一些示例代码,希望能为您指明正确的方向。本质上

php - xsl根据数值选择节点

我有一个xml文档,我正在尝试使用xsl设置样式。问题取决于我需要从某个节点提取的值,但在xsl中我不知道如何区分以下两个节点:XML:112XSL:....displayeverythingin 最佳答案 虽然不知道您正在寻找什么输出,但这是一个猜测。这个格式良好的XML输入:112使用这个样式表:产生这个输出:1 关于php-xsl根据数值选择节点,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

java - SAX 究竟是如何解析文档的?

我试图通过简单地实现org.xml.sax.ContentHandler来解析我在SAX中的第一个XML文档,但我不知道我是否理解流程。对于给定的XML文档:OneThenumber1,expressedinletters.TwoThenumber2,expressedinletters.解析器中事件的预期顺序是什么?我的假设是否正确:startDocument()startElement()->"list"startElement()->"item"startElement()->"name"characters()(>=1times)->"One"endElement()->"na

java - 从 DOM 中的 XML 文件中删除数据?

有没有一种简单的方法(可能使用DOMapi或其他方法)我可以从XML文件中删除实际数据,只留下一种模式模板,以便我们可以看到它的潜在信息可以坚持。我将举个例子来说明这一点。考虑用户输入以下xml文件:然后我想把它变成:我确信这可以手动编写,但这是最好、最有效和最可靠的方式。(最好使用Java)。谢谢! 最佳答案 有很多可能性:DOMAPI(包含在JDK中)SAXAPI(包含在JDK中)JDOM(易于使用,但外部)XSLT(使用准备好的XSL样式表转换XML,JDK支持XSLT1.0)我认为XSLT是将XML转换为另一种XML的最可靠

php - 我如何使用 SimpleXML 处理一个巨大的 XML 文件,但又要防止出现内存和性能问题?

我正在尝试避免为我构建的具有巨大XML文件的应用程序使用XMLReader。SimpleXML易于编写,我想知道是否有任何方法可以在非常繁忙的服务器中成功处理它(内存和性能问题)。我要做的是主要从搜索表单中回显该XML中的一些数据。 最佳答案 好的,如果您真的想在没有XMLReader的情况下执行此操作,那么您可以执行以下操作。使用fopen打开并读取该文件的N个字节。修复结局:(这是困难的部分,但它完全可行)您可以通过关闭任何未关闭的内容来完成此操作,如果您碰巧在某些文本的中间,还可以根据需要进行回溯。当该XMLblock最终有效

java - 使用 MOXy 和 XPath,是否可以解码属性列表?

编辑:这是我加载XML文档的方式,就像我在Blaise的回答中使用的那样。我这样加载它是因为我想使用一个节点,而不是整个文档。即使使用整个文档,我在以这种方式加载时仍然遇到问题。DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(false);DocumentBuilderbuilder=factory.newDocumentBuilder();Documentdoc=builder.parse(

java - 允许用户上传文件

我正在做一项大学作业,我们正在建立一个网站,让学生可以看到可用的类(class)、参加类(class)、向他们展示他们的时间表等。当用户看到他的时间表时,它是用XML格式生成的,并且我们正在使用XSLT查看它(asinapreviousquestionIasked)。目前有两个不同的XSLT文件,用户可以选择(通过下拉菜单)他想使用哪个“主题”。我们被要求允许用户上传他自己的.xsl文件并将其添加到主题列表中(任何人都可以使用)。为了适应这种需求,我创建了一个名为timetable_themes.xml的新XML文件,它看起来像这样:Classicclassic.xslBulletsb

java - 处理两种情况的 XPath 1.0 查询

我在XPaths方面不是很有经验,但我已经尝试了很长时间并进行了大量搜索,但没有找到解决方案。我正在从XHTML中提取大部分看起来像这样的信息Sometext1SomeheadlineSomeothertext我最感兴趣的是序言div中包含的文本,它存在于我的大部分文档中。问题是那些缺少div,在这些情况下我想提取body标签下的其他文本。在这种情况下,我想得到“一些文本1”,但如果没有div,我会接受“一些标题和一些其他文本”之类的东西。使用XPath2.0没问题,但情况限制了我使用“核心”1.0集中的功能。我的问题是这种行为是否可以在一个XPath1.0查询中实现,或者我是否应该放