bâtiment au-dessus de la solution de Lukas Eder, nous pouvons extraire InnerXml comme dans .NET comme ci-dessous
public static String innerXml(Node node,String tag){
String xmlstring = toString(node);
xmlstring = xmlstring.replaceFirst("<[/]?"+tag+">","");
return xmlstring;
}
public static String toString(Node node){
String xmlString = "";
Transformer transformer;
try {
transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
//transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new StringWriter());
xmlString = nodeToStream(node, transformer, result);
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerFactoryConfigurationError e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (Exception ex){
ex.printStackTrace();
}
return xmlString;
}
Ex:
If Node name points to xml with string representation "<Name><em>Chris</em>tian<em>Bale</em></Name>"
String innerXml = innerXml(name,"Name"); //returns "<em>Chris</em>tian<em>Bale</em>"
grâce, exactement ce que je avais besoin – yossi
Cette méthode continue d'ajouter la balise de définition XML à l'avant de la chaîne ... est-il un moyen d'éviter que, en plus de simplement le couper après? – Nyerguds
Je l'ai résolu.La solution consiste à ajouter la ligne 'lsSerializer.getDomConfig(). SetParameter (" xml-declaration ", false);' – Nyerguds