当前位置: 首页 > 面试题库 >

如何在Java中将org.w3c.dom.Element输出为字符串格式?

戚飞虎
2023-03-14
问题内容

我有一个org.w3c.dom.Element对象传递给我的方法。我需要查看包括其子节点的整个xml字符串(整个对象图)。我正在寻找一种可以将转换Element为xml格式字符串的方法System.out.println。只是println()在’Element’对象上将不起作用,因为toString()将不会输出xml格式,也不会通过其子节点。有没有一种简便的方法而无需编写自己的方法来做到这一点?谢谢。


问题答案:

假设您要坚持使用标准API …

您可以使用DOMImplementationLS:

Document document = node.getOwnerDocument();
DOMImplementationLS domImplLS = (DOMImplementationLS) document
    .getImplementation();
LSSerializer serializer = domImplLS.createLSSerializer();
String str = serializer.writeToString(node);

如果<?xml version =“ 1.0” encoding=“UTF-16”?>声明使您感到困扰,则可以使用转换器:

TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
StringWriter buffer = new StringWriter();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.transform(new DOMSource(node),
      new StreamResult(buffer));
String str = buffer.toString();


 类似资料:
  • 问题内容: 这看起来是如此简单,我必须对此加以考虑。 TL; DR; 如何修改下面的代码以返回字符串中包含的json对象,而不是恰好包含json的字符串? 此代码返回包含json的字符串文字: 但是,我希望它返回字符串中包含的json: 版本稍长 我正在尝试快速制作一些外部api调用的原型,而现在只是想将这些结果通过我的“ api”传递为假响应。json对象很简单- 大约10,000个“行”或90

  • 问题内容: 我正在尝试读取AT命令的结果(执行该命令以从控制台对GSM调制解调器执行各种操作)。我已经看到并使用Java OuputStream类成功进行了测试,以将AT命令的结果作为输出流获取,但是我要做的不是将结果作为输出流获取,而是获取到类中的变量(目前为String)中。 如果有可能喜欢 效果很好,怎么可能做这样的事情 我正在以这种方式尝试 但是为了获得结果,我想要像这样的字符串来获取at

  • 问题内容: 我有一个对象。 如何呈现以下片段的一部分? 我有另一个图书馆的“相对语言时间”部分。 我尝试了以下方法: 但这给了我: 问题答案: 已经有一个名为的函数: 如果您以某种方式使用了不支持它[的浏览器,那么我可以满足您的要求:

  • 问题内容: 我一直在存储电话号码,所以我想在将电话号码打印为字符串时简单地添加连字符。 我尝试使用,但是不喜欢连字符。可能是因为它用于格式化十进制数字而不是long。 理想情况下,我也想在区号上加上括号。 正确的方法是什么? 问题答案: 这就是我最终这样做的方式: 我知道这不支持国际号码,但是我不是在编写“真实”应用程序,因此我对此并不担心。我只接受10个字符作为电话号码。我只是想以某种格式打印它

  • 问题内容: 我有一个名为date的LocalDate变量,当我打印它时显示1988-05-05,我需要将此变量转换为要打印为1988年5月5日。如何执行此操作? 问题答案: 如果他从Java 8中的新功能LocalDate开始,SimpleDateFormat将无法工作。从我所看到的,您将不得不使用DateTimeFormatter,http://docs.oracle.com/javase/8/

  • 我有一个LocalDate变量名为date,当我打印它时,它显示1988-05-05,我需要将它转换成05.may1988。怎么做?