如何使用Java标准DOM API解析DocumentFragment
发布时间:2020-12-15 02:27:17 所属栏目:Java 来源:网络整理
导读:这就是我如何用 Java解析格式良好的XML文档: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();// text contains the XML contentDocument doc = builder.parse(new InputS
这就是我如何用
Java解析格式良好的XML文档:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); // text contains the XML content Document doc = builder.parse(new InputSource(new StringReader(text))); 文本的一个例子是: <a> <b/> </a> 我如何解析DocumentFragment?例如,这个: <a> <b/> </a> <a> <b/> </a> 注意:如果可能,我想使用org.w3c.dom而不使用其他库/技术. 解决方法
我只是想到了一个愚蠢的解决方案.我可以将片段包装在这样的虚拟元素中:
<dummy><a> <b/> </a> <a> <b/> </a></dummy> 然后以编程方式再次过滤掉该虚拟元素,如下所示: String wrapped = "<dummy>" + text + "</dummy>"; Document parsed = builder.parse(new InputSource(new StringReader(wrapped))); DocumentFragment fragment = parsed.createDocumentFragment(); // Here,the document element is the <dummy/> element. NodeList children = parsed.getDocumentElement().getChildNodes(); // Move dummy's children over to the document fragment while (children.getLength() > 0) { fragment.appendChild(children.item(0)); } 但这有点蹩脚,让我们看看是否还有其他解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |