Luk*_*der 6 java dom well-formed documentfragment xml-parsing
这是我如何在 Java 中解析格式良好的 XML 文档:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
// text contains the XML content
Document doc = builder.parse(new InputSource(new StringReader(text)));
Run Code Online (Sandbox Code Playgroud)
文本示例如下:
<a>
<b/>
</a>
Run Code Online (Sandbox Code Playgroud)
如何解析 DocumentFragment?例如,这个:
<a>
<b/>
</a>
<a>
<b/>
</a>
Run Code Online (Sandbox Code Playgroud)
注意:org.w3c.dom如果可能,我想使用并且不使用其他库/技术。
我只是想到了一个愚蠢的解决方案。我可以将片段包装在一个虚拟元素中,如下所示:
<dummy><a>
<b/>
</a>
<a>
<b/>
</a></dummy>
Run Code Online (Sandbox Code Playgroud)
然后再次以编程方式过滤掉该虚拟元素,如下所示:
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));
}
Run Code Online (Sandbox Code Playgroud)
但这有点蹩脚,让我们看看是否有其他解决方案。
| 归档时间: |
|
| 查看次数: |
4009 次 |
| 最近记录: |