如何创建一个带有空字符串值的XML文本节点(在Java中)

我正在使用一个Transform对象来保存我的 XML文件,但是似乎丢弃了空文本节点.有没有办法创建(并保留)一个空字符串的文本节点,即“”.

这是我如何创建节点:

Element type = doc.createElement("TYPE");

type.appendChild(doc.createTextNode(value));

只是有时,值为空字符串“”.当我用文本编辑器查看XML时,我看到

<TYPE />

代替

<TYPE></TYPE>

在我读取这个XML文件并遍历节点之后,< TYPE>元素根本没有任何孩子,即使我明确地创建了一个#text节点!

编辑 – 感恩节快乐(对我的同事加拿大人)

重要的注意事项,我不是从一组已知的标签中工作,而是我正在使用的程序使用文本节点的存在将JTextField分配给GUI.只是有时这个字段是空的(不是null而是“”).当我存储该字段然后读回时,GUI不再呈现JTextField,因为没有文本节点.所以我正在寻找创建XML文档的方法来创建一个文本节点,即使它没有任何内容.如果这根本不能用XML完成,那么我将不得不使用属性来标记可编辑的标签(有点像Andrey Breslav建议的),因此应该分配一个JTextField.

我会尝试疯狂的汉森建议一个不间断的空间.

没有文本的文本节点不是文本节点.

如果您尝试控制XML元素如何序列化,< TYPE />和< TYPE>< / TYPE>是等效的,如果使用了一个XML处理器,这并不重要.两者都声明没有任何text()的TYPE元素.大多数处理器将串行化一个空元素作为自我关闭元素.

如果你真的想防止这个元素被序列化为自我关闭,你可以很可爱,并添加零宽度的空间作为文本节点值:< TYPE>&#x200B;< / TYPE>它将如下所示:< TYPE>< / TYPE&gt ;. 在技​​术上它不是一个“空”字符串,但是可以实现你想要的,如果选择和使用文本节点,则不会用空格填充.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇