Tag: domdocument

将org.w3c.dom.Node转换为Document

我有一个Document的Node 。 我想将该Node转换为新Document的根节点。 我能想到的唯一方法如下: Node node = someChildNodeFromDifferentDocument; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); Document newDocument = builder.newDocument(); newDocument.importNode(node); newDocument.appendChild(node); 这很有效,但我觉得这很烦人。 我没有看到更简洁/更直接的方式,还是我必须这样做?

如何使用java dom从xml中删除命名空间?

我有以下代码 DocumentBuilderFactory dbFactory_ = DocumentBuilderFactory.newInstance(); Document doc_; DocumentBuilder dBuilder = dbFactory_.newDocumentBuilder(); StringReader reader = new StringReader(s); InputSource inputSource = new InputSource(reader); doc_ = dBuilder.parse(inputSource); doc_.getDocumentElement().normalize(); 然后我就能做到 doc_.getDocumentElement(); 并得到我的第一个元素,但问题是,而不是job元素是tns:job 。 我知道并试图使用: dbFactory_.setNamespaceAware(true); 但这不是我想要的东西,我需要一些东西来完全摆脱命名空间。 任何帮助将不胜感激,谢谢, 玩笑

Java,XML DocumentBuilder – 在解析时设置编码

我正在尝试保存一个树(扩展JTree ),它将XML文档保存到DOM Object并改变了它的结构。 我创建了一个新的文档对象,遍历了树以成功检索内容(包括XML文档的原始编码),现在有一个ByteArrayInputStream ,它具有正确编码的树内容( XML文档)。 问题是,当我解析ByteArrayInputStream ,编码会自动更改为UTF-8 (在XML文档中)。 有没有办法防止这种情况并使用ByteArrayInputStream提供的正确编码。 值得补充的是,我已经使用了 transformer.setOutputProperty(OutputKeys.ENCODING, encoding)方法检索正确的编码。 任何帮助,将不胜感激。