在java中创建XML文件时传递字符串而不是节点

Posted

技术标签:

【中文标题】在java中创建XML文件时传递字符串而不是节点【英文标题】:Passing string instead of node while creating a XML file in java 【发布时间】:2012-07-18 12:44:09 【问题描述】:

我想创建一个包含系统所有信息的 XML 文件。 要获取信息,我会使用getProperty(os.name) 并将其保存在这样的字符串中

String nameOS = "os.name";  
nameOS=System.getProperty(nameOS);

现在我想创建一个 XML,并希望这个字符串的值成为创建的 XML 文件的元素之一,为此我会做这样的事情

Element Osname = doc.createElement("Osname");
Osname.appendChild(doc.createTextNode("nameOS"));
staff.appendChild(Osname);

但输出 xml 文件看起来像这样

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
- <HardwareInfo>
  <OsName>nameOS</OsName>  
  </HardwareInfo>

我在输出中得到字符串的名称,而不是字符串的值。

非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

去掉nameOs周围的引号

Osname.appendChild(doc.createTextNode(nameOS));

【讨论】:

【参考方案2】:

Osname.appendChild(doc.createTextNode("nameOS"));

应该是

Osname.appendChild(doc.createTextNode(nameOS));

【讨论】:

以上是关于在java中创建XML文件时传递字符串而不是节点的主要内容,如果未能解决你的问题,请参考以下文章

在 XML 中创建文本节点时避免转义字符实体引用

如何在 SQL Server 中使用 XML 节点传递 NULL 而不是字符串格式的“NULL”值

为啥将字符串作为文件名而不是 char* 传递时出现错误?

在 XML 设置文件中创建字符串列表

如何在Java中创建具有特定结构的XML文件[重复]

如何在代码而不是配置中创建 WCF EndPointBehaviors?