草庐IT

dom-repeat

全部标签

java - JAXP、JDOM、DOM4J 和 XERCES 有什么区别?

它们有什么区别?据说JAXP只是一个APISpecification,JDOM和DOM4J实现了,对不对?而且它们都需要一个XML解析器,就像XERCES一样,对吗?提前致谢! 最佳答案 JAXP(JSR-206)是一组用于JavaXML解析器的标准API。它涵盖以下领域:DOM(org.w3c.dom包)SAX(org.xml.sax包)StAX/JSR-173(java.xml.stream)XSLT(javax.xml.transform)XPath(javax.xml.xpath)验证(javax.xml.validatio

java - 为什么我的 DOM 解析器不能读取 UTF-8

当XML文件中有UTF-8字符时,我的DOM解析器无法加载文件现在,我知道我必须给他指令来读取utf-8,但我不知道如何将它放入我的代码中这是:FilexmlFile=newFile(fileName);DocumentBuilderFactorydbFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdBuilder=dbFactory.newDocumentBuilder();Documentdoc=dBuilder.parse(xmlFile);doc.getDocumentElement().normalize

java - 如何在 Java dom xml 解析中从我的节点解析中删除#text

所以我有以下代码,我几乎是从here复制的.但问题是我的文本节点不包含任何文本,它们只有属性。所以我喜欢我正在使用这段代码来解析它:privatevoidlistNodes(Nodenode,Stringindent){StringnodeName=node.getNodeName();System.out.println(indent+"Nodeis:"+nodeName);if(nodeinstanceofElement&&node.hasAttributes()){System.out.println(indent+"Attributesare:");NamedNodeMapat

java - 迭代 java DOM 中的所有 XML 节点生成

我想检查XML文档中是否包含“person”元素。我可以非常简单地检查所有第一代元素:NodeListnodeList=root.getChildNodes();for(inti=0;i而且我可以添加更多循环以进入子元素,但我必须知道要放入多少嵌套循环才能确定要深入文档的深度。我可以嵌套10个循环,最终得到一个在给定文档中嵌套了12个元素的person元素。无论嵌套有多深,我都需要能够取出元素。有没有办法从整个文档中获取元素?比如将所有标签的文本值作为数组返回或对其进行迭代?也许类似于python的elementtree'findall'方法:forpersonintree.finda

java - 在 Intellij : have to repeat this each time project is built? 中配置 groovy SDK

尝试在Intellij中编译我的应用程序时出现错误:Error:CannotcompileGroovyfiles:noGroovylibraryisdefinedformodule当Inteli提示时,我通过为模块选择"ConfigureGroovySDK"解决了这个问题。我使用了库org.codehaus.groovy:groovy-all:2.4.4,然后将此库添加为模块的dependency。问题是每次我在Intellij中重新构建我的项目或“刷新gradle项目”时,我都必须再次“配置GroovySDK”。如何设置我的项目,以便不必每次都重新执行此步骤?

java - 无法使用 DOM 解析器读取带有命名空间前缀的 xml

这是输入XML:A00179-02这是我用来读取XML的代码(变量xmlString包含上面的XML):DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();dbf.setNamespaceAware(true);DocumentBuilderdb=dbf.newDocumentBuilder();InputSourceis=newInputSource();is.setCharacterStream(newStringReader(xmlString));Documentdoc=db.parse(is);Syst

java - 如何使用 DOM 级别 3 序列化 API 生成 DOCTYPE 声明?

我有一个从头开始创建的DOM文档,我需要将其序列化为输出流。我正在使用DOM级别3序列化API,如以下示例所示:OutputStreamout;Documentdoc;DOMImplementationLSdomImplementation=(DOMImplementationLS)DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation();LSSerializerlsSerializer=domImplementation.createLSSerializer();LSOutputl

java - é在java中dom转换后显示为é

我正在尝试将HTML字符串转换为dom以进行一些dom级别的更改并将其转换回字符串。HTML为法语,é等字符显示为é为转换后的String。TransformerFactorytransformerFactory=TransformerFactory.newInstance();Transformertransformer=transformerFactory.newTransformer();DOMSourcesource=newDOMSource(doc);StringmodifiedContent="";StringWriterwriter=newStringWriter();S

java - 进行 DOM 节点到字符串的转换,但存在命名空间问题

所以我们有一个带有自定义命名空间的XML文档。(XML是由我们无法控制的软件生成的。它由namespace-未知DOM解析器解析;标准的Java7SE/Xerces东西,但也在我们的有效控制之外。)输入数据如下所示:....18blarzillionlinesofXML........another27blarzillionlines....我们得到的Document是可用的,xpath可查询的,可遍历的等等。将此文档转换为文本格式以写入数据接收器使用100SO“如何将我的XML文档更改为Java字符串?”中描述的标准Transformer方法。问题:Transformertransf

java - 使用 XSD、目录解析器和用于 XSLT 的 JAXP DOM 验证 XML

背景使用JDK6将XML文件加载到DOM.必须根据XSD验证XML文件。XSD文件位置因运行环境而异。确保XML可以针对XSD进行验证,无论目录结构如何,都需要目录解析器。一旦XML得到验证,就可以对其进行转换。我的理解是DocumentBuilderFactory可用于配置此类验证。这是通过使用DocumentBuilder实现的。用XMLCatalogResolver查找与XML文件关联的XSD文件(以及任何包含的文件)。关于使用目录派生的XSD验证XML文档的问题包括:JAXP-debugXSDcataloglookupJavaXMLSchemavalidatorwithcust