Как преобразовать элемент XML и его дочерние узлы в строку в Java?

16
Привет, я хочу преобразовать XML node и его дочерний элемент в строку с именами node.

Например, я получаю node из документа XML, который выглядит следующим образом:

<Name>
  <Work>*86</Work>
  <Home>*86</Home>
  <Mobile>*80</Mobile> 
  <Work>0</Work>
</Name>

Я хочу преобразовать целое node в строку. С nodenames, не только текст. Любая помощь в этом отношении очень ценится. Спасибо.

  • 0
    Как вы можете XML-документ выглядит как * 86 * 86 * 86 0? я что-то упустил
  • 0
    Ответ будет проще, если вы отправите код
Показать ещё 2 комментария
Теги:
string
dom

2 ответа

25
Лучший ответ

вы можете использовать JDom XMLOutputter при условии, что ваш Element является org.jdom.Element:

XMLOutputter outp = new XMLOutputter();
String s = outp.outputString(your_jdom_element);
27

Для этого можно использовать трансформатор:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");

StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(node);
transformer.transform(source, result);

String xmlString = result.getWriter().toString();
System.out.println(xmlString);
  • 0
    я работаю на Android 2.0, в котором нет предложений Transformer, есть ли другой способ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню