Java基元类型XML文本值

Java基元类型XML文本值,java,xml,primitive-types,Java,Xml,Primitive Types,我需要创建一个XML片段,我正在为此使用JavaDOM 我能找到的任何文档都说明可以使用Element.setTextContent(),如下所示: Integer someValue = 5; Element element = myMethodCreatingTheElement(); element.setTextContent(String.valueOf(someValue)); 我的问题是:依靠String.valueOf()在XML中正确表示相应的值是否足够 提前谢谢,试试jso

我需要创建一个XML片段,我正在为此使用JavaDOM

我能找到的任何文档都说明可以使用Element.setTextContent(),如下所示:

Integer someValue = 5;
Element element = myMethodCreatingTheElement();
element.setTextContent(String.valueOf(someValue));
我的问题是:依靠String.valueOf()在XML中正确表示相应的值是否足够


提前谢谢,

试试jsoup它也很好

是的

另见

依靠String.valueOf()在XML中正确表示相应的值就足够了吗

DOM是XML文档的抽象数据模型。调用
setTextContent()
时,您正在设置元素的值(严格来说,您正在将元素的子元素设置为具有指定值的单个文本节点)。当您将DOM树作为XML文档写出时,序列化程序的工作是确保所有值都以正确的表示形式输出

只要您设置的值不包含XML中禁止的任何字符(U+0020以下的控制字符,除了制表符、换行符和回车符或未配对的代理项),您就可以了,序列化程序将为您执行任何必要的转义


至于
String.valueOf
本身,其将原语类型转换为字符串的规则在JavaDoc文档中有详细说明。根据上述警告,如果您正在转换覆盖
到字符串的
字符
字符[]
对象
,请避免使用非法字符,
String.valueOf
生成的值在XML中始终是合法的。

您可以使用
javax.XML.bind.DatatypeConverter
将XML文本转换为Java数据类型(自JavaSE6以来是JDK/JRE的一部分)。这将确保正确处理与文本表示有关的特定于XML的事情


有效,您的问题是什么?我不确定这种方法是否安全并保证100%的正确性,例如,如果该值是真实的,可能需要进行一些本地化考虑,因此,我的问题是,我找不到描述将原始值转换为Xml值的官方文档,也找不到任何特定的文档?请注意,我使用的是String.valueOf()啊,我的坏消息。在这种情况下:否。如果
someValue
为null,则会得到“null”,这不是xml整数值。如果您想要一种类型安全的方式将java类型转换为xml“基元”类型,那么应该使用某种映射。