考虑的原始 xml 元素是这样的。

<Sender>name</Sender> 

调用

node.setNodeValue(""); 

在文本类型的节点上删除其包含元素的开始标记

</Sender> 

当我打电话时

node.setNodeValue("something"); 

然后它就会按预期工作。

<Sender>something</Sender> 

这个方法有什么问题吗?我想要做的是删除文本内容。

<Sender></Sender> 

请您参考如下方法:

再仔细看看你打电话后得到的结果

node.setNodeValue(""); 

我确定你有<Sender/> ,但不是</Sender> .

<Sender/>是一个空元素标签。
它是一个简写形式,其含义与 <Sender></Sender> 相同。 (开始标签和结束标签之间没有内容)。 .

请参阅XML-specification (section 3.1)其中说:

The representation of an empty element is either a start-tag immediately followed by an end-tag, or an empty-element tag.

所以两者在语义上是等价的,因此没有意义 想要一个而不是另一个。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!