草庐IT

dom-repeat

全部标签

java - 使用 stax 和 dom 读取一个大的 XML 文件

我需要读取几个大的(200Mb-500Mb)XML文件,所以我想使用StaX。我的系统有两个模块-一个用于读取文件(使用StaX);另一个模块(“解析器”模块)假设获取该XML的单个条目并使用DOM对其进行解析。我的XML文件没有特定的结构-所以我不能使用JaxB。如何向“解析器”模块传递我希望它解析的特定条目?例如:..............我想使用StaX来解析该文件-但每个“项目”条目都将传递到“解析器”模块。编辑:阅读更多之后——我想我需要一个使用流读取XML文件的库——但使用DOM解析每个条目。有这种事吗? 最佳答案 您

Java DOM - 依次插入一个元素

给定以下XML文件:我想在中添加一个新元素在某个预先存在的元素之后。例如,如果我想在"Assign1"之后添加节点,新的XML应该是这样的:我必须通过在函数中使用JavaDOM来完成此操作。函数签名应该是这样的:publicvoidaddActionDom(Stringname,StringstepType,StringstepName)地点:name是预先存在的元素,之后将进行插入;stepType是插入的元素类型;stepName是新插入元素的name属性。目前我缺乏使用JDOM或任何其他JavaXML库的经验。能否请您提供示例代码,或者向我指出在某个元素之后插入的教程。这是我到目

java - 如何使用 java dom 从 xml 中删除 namespace ?

我有以下代码DocumentBuilderFactorydbFactory_=DocumentBuilderFactory.newInstance();Documentdoc_;DocumentBuilderdBuilder=dbFactory_.newDocumentBuilder();StringReaderreader=newStringReader(s);InputSourceinputSource=newInputSource(reader);doc_=dBuilder.parse(inputSource);doc_.getDocumentElement().normaliz

Java XML解析使用DOM获取节点值

try{Stringdata="0.15";DocumentBuilderFactorydocumentBuilderFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocumentBuilder=documentBuilderFactory.newDocumentBuilder();InputSourceis=newInputSource();is.setCharacterStream(newStringReader(data));Documentdocument=documentBuilder.parse(is

java - 使用 DOM 解析 xml,DOCTYPE 被删除

在编辑xml时,java的dom为什么会删除doctype?得到这个xml文件:]>test1test1test1我的功能非常基础:publicstaticvoidEditStationName(intid,InputStreamis,Stringpath,Stringname)throwsParserConfigurationException,SAXException,IOException,TransformerFactoryConfigurationError,TransformerException{DocumentBuilderFactoryfactory=Document

java - 如何将 JAXB 对象编码到 org.w3c.dom.Document?

这给了我一个没有子节点的顶级节点的文档对象:publicstaticDocumentgetDocument(Objectjaxb){DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();//dbf.setNamespaceAware(true);Documentdoc=dbf.newDocumentBuilder().newDocument();JAXBContextcontext=JAXBContext.newInstance(jaxb.getClass());context.createMarshaller()

Java:从元素而不是文档创建 DOM 元素

如您所知,在Java中创建Dom元素的正确方法是执行如下操作。importorg.w3c.dom.Document;importorg.w3c.dom.Element;Documentd;Elemente;e=d.createElement("tag");您需要使用d来生成元素,因为它需要文档上下文。(我不是100%确定为什么,但可能误解这是我问题的一部分)我不明白的是,为什么你不能做这样的事情Elemente;Elemente2;e2=e.createElement("anothertag");既然e已经有了d的上下文,为什么我不能从一个元素创建另一个元素呢?它肯定会简化我的设计,而

java - 通过反射在 Java 中调用 getter : What's the fastest way to repeatedly call it (performance and scalability wise)?

给定一个类Foo和一个属性bar,我在编译时都不知道,我需要重复调​​用getterFoo.getBar()很多很多次。假设我有:MethodbarGetterMethod=...;//Don'tworryhowIgotthis我需要做这样的事情:for(Objectfoo:fooList){//1000000000elementsinfooListObjectbar=barGetterMethod.invoke(foo);...}与不使用反射调用相比,上面的实现还是很慢的。有没有更快的方法?在Java中使用反射调用getter的最快方法是什么? 最佳答案

java - 如何使用 selenium 将 javascript 文件加载到 DOM 中?

我正在使用SeleniumWebDriver尝试将外部javascript文件插入DOM,而不是将整个文件输入到executeScript中。看起来它正确地将节点放入DOM,但它只是忽略了源,即所述源js文件上的函数没有运行。这是我的代码:importorg.openqa.selenium.By;importorg.openqa.selenium.JavascriptExecutor;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.fir

java - 遍历 NodeList 时删除 DOM 节点

我要删除XML文档中的某些元素,使用如下代码:NodeListnodes=...;for(inti=0;i这会干扰NodeList的正确遍历吗?这种方法还有其他注意事项吗?如果这是完全错误的,那么正确的做法是什么? 最佳答案 在循环时删除节点会导致不良结果,例如遗漏或重复的结果。这甚至不是同步和线程安全的问题,但如果节点被循环本身修改了。在这种情况下,大多数Java的Iterator都会抛出ConcurrentModificationException,这是NodeList没有考虑到的。可以通过减小NodeList大小并同时减小it