【问题标题】:How to convert xml Element and its child nodes into String in Java?java - 如何将xml Element及其子节点转换为Java中的String?
【发布时间】:2011-07-20 09:49:31
【问题描述】:

您好,我想将 XML 节点及其子节点转换为带有节点名称的字符串。

例如,我从 XML 文档中获取一个节点,如下所示:

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

我想将整个节点转换为字符串。使用节点名,不仅仅是文本。非常感谢这方面的任何帮助。谢谢。

【问题讨论】:

  • 你的 xml 文档怎么看起来像 *86 *86 *86 0 ?我错过了一些东西
  • 贴代码会更容易回答
  • 节点节点 = doc.getElementBytagName("Name").item(0);我希望字符串中的整个节点是可以实现的。

标签: java xml string dom


【解决方案1】:

您可以使用 JDom XMLOutputter,但前提是您的 Element 是 org.jdom.Element:

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

【讨论】:

    【解决方案2】:

    您可以为此使用转换器:

    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);
    

    【讨论】:

    • 我在 android 2.0 上工作,其中 Transformer 类不可用,还有其他方法吗?
    猜你喜欢
    • 2023-03-03
    • 2017-01-29
    • 2011-10-28
    • 2021-02-18
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多