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

将XML注释添加到封送文件中

程飞星
2023-03-14
问题内容

我正在将对象编组到XML文件中。如何将注释添加到该XML文件中?


问题答案:

我看不到单独使用JAXB的方法。但是,我认为您可以利用DOM达到预期的效果:

final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
final DocumentBuilder builder = factory.newDocumentBuilder();
final Document doc = builder.getDOMImplementation().createDocument(null, null, null);

final Binder<Node> binder = jaxbContext.createBinder();
binder.marshal(jaxbObject, doc);
final Comment comment = doc.createComment("This is a comment");
doc.appendChild(comment);

final DOMSource domSource = new DOMSource(doc);
// use System.out for testing
final StreamResult streamResult = new StreamResult(System.out);
final TransformerFactory tf = TransformerFactory.newInstance();
final Transformer serializer = tf.newTransformer();
serializer.transform(domSource, streamResult);

其中jaxbContext是您正在使用的JAXBContext对象,而jaxbObject是要编组的对象。该示例仅将注释附加到文档末尾。对于其他位置,您将不得不遍历doc对象的DOM或使用XPath来查找要添加注释的确切元素,并在其上使用appendChild。



 类似资料:
  • 问题内容: 通过使用文件中的以下代码块 我能够生成具有以下文件内容的文件 我想知道如何在生成的文件中添加评论?例如,生成的属性应具有以下内容: 我如何使用Ant来动态地做到这一点? 问题答案: 不支持编写带有多个注释的属性文件。为什么呢 PropertyFile.java ant属性文件任务由一个类支持,该类使用store()方法存储注释。从任务中仅提取一条注释,并将其传递给类以保存到文件中。 解

  • 我正在使用JAXB从XML生成java代码,它有一个枚举 我想为这个枚举添加几种颜色,比如红色和白色。我们不想更新xsd或生成的XML/Java代码,因为这些代码不属于我们,我们想要保持原样。 备选案文1.如果有一种读取XSD的方法,当它读取xs:simpleType name=“color”时,我可以为枚举添加颜色,这样生成的java枚举就具有所有需要的值 备选案文2.如果我可以编写一个适配器,

  • 我想创建一个包含xml文件的zip文件夹并下载它。我可以下载zip,但它是空的。 我可以创建xml和zip: 顺便说一下,$result是ArrayToXML::CONVERT(array,....) 如何将xml文件添加到ZIP。我刚来拉拉维尔请帮帮我

  • 我得到了一个XSD,其中包含一个字段。我希望生成的代码使用,这样我就可以对其应用现有接口。(该字段是必填字段,并且永远不会超过32位范围,它应该是)。 使用XJB,我可以更改生成代码中的类型。但是在创建时,这给了我一个错误。 这将生成以下代码 虽然这适用于代码生成,但它在编组时失败,并在创建上下文时引发以下异常。 如果我手动向注释添加一个type参数,问题就解决了,但是我找不到让JAXB为我做这件

  • 有没有办法从一个巨大的xml文件中删除注释( 两者,根元素前的注释 和内的注释 最好的解决方案是使用xPath。我试过了 它适用于DOM,但不适用于vtd xml 这是我选择评论的代码 但此处的屏幕上打印的是nothing。 有没有办法用vtd xml做到这一点? 谢谢你的帮助。

  • 我想将对象封送到XML。 但是,除以下情况外,它失败了: 事实上,这个注释是存在的(对于父类和交付的类): 儿童班: 它在该方法中完全失败: 它应该起作用,但不应该。 我找不到这里遗漏或错误的地方。 更新: 以下是测试片段: 我从CSV文件中获取日期,并将其转换为DTO对象。此方法返回给我FreightOfferDetail 以下是此方法的片段: 在这种情况下,如何将对象封送到XML文件?