2010-07-30 28 views
1

是否有可能將XML元素/節點下的子節點作爲Java中的字符串?將子節點作爲字符串獲取

或者您是否重複了一切?

感謝

+0

簡短的回答:這取決於你使用訪問XML API什麼。他們中的許多人將這種功能作爲單一的方法調用,而許多則沒有。如果這對你來說是一個「殺手級功能」,並且是合適的,那麼你可能希望考慮在需要時切換你的解析庫。 – 2010-07-30 15:23:26

回答

1

沒錯,像安德烈說,它依賴於庫,例如,JDOM有有用XMLOutputter類,可以打印到流或字符串,或什麼的。最強大的XML庫將具有類似的功能

http://www.jdom.org/docs/apidocs/index.html

4

您可以使用變壓器:

private String nodeToString(Node node) { 
StringWriter sw = new StringWriter(); 
try { 
    Transformer t = TransformerFactory.newInstance().newTransformer(); 
    t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 
    t.transform(new DOMSource(node), new StreamResult(sw)); 
} catch (TransformerException e) { 
    e.printStackTrace(); 
} 
return sw.toString(); 
}