JAVA,NodeSet转换为XML,解析它以将其推送到树中

时间:2017-03-27 16:16:17

标签: java xml tree xml-parsing vaadin

我正在使用一个框架:vaadin,我有一个O(q.log n),我就这样使用它:NodeSet data;我得到了所有的XML,所以没问题。但我想解析data.toXMLString();以将所有信息推送到树中。我在stackoverflow / openclassroom和其他人看过很多论坛,对话,但每次XML都是一个文件,而且它与我的不兼容。这就是我开始做的事情:

data.toXMLString();

我没有完成它,因为当我启动服务器时出现此错误:

  

java.net.MalformedURLException

在这一行:private void getData(NodeSet data){ final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try{ final DocumentBuilder builder = factory.newDocumentBuilder(); final Document document = builder.parse(data.toXMLString()); final Element racine = document.getDocumentElement(); System.out.print(racine.getNodeName()); final NodeList racineNoeuds = racine.getChildNodes(); final int nbRacineNoeuds = racineNoeuds.getLength(); for(int i = 0; i < nbRacineNoeuds; i++){ if(racineNoeuds.item(i).getNodeType() == Node.ELEMENT_NODE) { final Element child = (Element) racineNoeuds.item(i); } } } catch (final ParserConfigurationException e){ e.printStackTrace(); } catch (final SAXException e){ e.printStackTrace(); } catch (final IOException e){ e.printStackTrace(); } tree.addItem(data.toXMLString()); }

所以,如果你有任何想法。 谢谢。

1 个答案:

答案 0 :(得分:1)

您对builder.parse(...)的使用不正确。 根据{{​​3}}传递字符串作为参数,意味着您提供了一个URL来从中检索文档。

在将String传递给方法之前,您需要将String转换为InputStream。 请参阅javadoc如何操作。