---
/**
* XMLソースから<code>org.w3c.dom.Document</code>を返します。
* @param xml
* @return
* @throws Exception パースに失敗した場合
*/
public static org.w3c.dom.Document stringToDocument(final String xml) throws Exception{
Document doc = null;
try {
InputSource is = new InputSource(new StringReader(xml));
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setXIncludeAware(true);
factory.setNamespaceAware(true);
DocumentBuilder docBuilder = factory.newDocumentBuilder();
doc = docBuilder.parse(is);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return doc;
}
---
そしてテストケースです。
---
/**
* XMLソースから<code>org.w3c.dom.Document</code>を返せるか
* @throws Exception
*/
@Test
public void testStringToDocument() throws Exception{
String xml = "<html><head><title>Title</title></head><body><h1>Top</h1></body></html>";
Document doc = DomUtils.stringToDocument(xml);
assertEquals("html", doc.getFirstChild().getNodeName());
assertEquals("head", doc.getFirstChild().getFirstChild().getNodeName());
assertEquals("title", doc.getFirstChild().getFirstChild().getFirstChild().getNodeName());
assertEquals("Title", doc.getFirstChild().getFirstChild().getFirstChild().getTextContent());
}
---
ではまた。
0 件のコメント:
コメントを投稿