XML节点:创建命名空间属性在javascript中将空字符串显示为节点值

时间:2014-05-29 06:14:42

标签: javascript xml

我已经创建了一个带有名称空间前缀'example'的根节点,如下所示:

var stringXML = '<?xml version="1.0" encoding="UTF-8" standalone="no" ?>'
    + '<example:root xmlns:example="http://example.com"></example:root>';
var xmlDoc = jQuery.parseXML(stringXML);

然后我在相同的命名空间下创建了一个子节点,如下所示:

var tag = xmlDoc.createElementNS('http://example.com', 'example:tag');
var x = xmlDoc.getElementsByTagNameNS('http://example.com', 'root')[0];
x.appendChild(tag);

我想为tag节点创建一个名称空间属性,而不指定nodevalue。

var attr = xmlDoc.createAttributeNS('http://sample.com', 'sample:sampleNode');
tag.setAttributeNode(attr);

我期待这样的输出:

<?xml version="1.0" encoding="UTF-8"?>
<example:root xmlns:example="http://example.com">
    <example:tag xmlns:sample="http://sample.com"/>
</example:root>

但在我的XML中,带有空字符串的属性显示如下:

<?xml version="1.0" encoding="UTF-8"?>
<example:root xmlns:example="http://example.com">
    <example:tag xmlns:sample="http://sample.com" sample:sampleNode=""/>
</example:root>

任何人都可以提供解决方案吗?提前谢谢。

0 个答案:

没有答案