我正在尝试从文本节点中删除双引号。以下代码有效:
var cars = <cars>
<buick>
<color>
"Blue"
</color>
</buick>
<chevy>
<color>
"Red"
</color>
</chevy>
</cars>;
for each (elem in cars)
for each (item in elem.*)
elem[item.localName()] = item.text().toString().replace(/"/g,'');
但是,我对elem [item.localName()] =构造感到不舒服。实际上,我已经有了一个指向文本的项目,使用类似的东西会更合乎逻辑:
item = item.text().toString().replace(/"/g,'');
不幸的是,这段代码似乎没有做它应该做的事情。有什么想法吗?什么是正确的方法?
答案 0 :(得分:1)
你在哪里运行这段代码?因为它在Firefox中工作正常。
这就是这样(尝试并让我知道它是否适合你):
for each (txt in cars..*.text()){
txt.parent().setChildren( txt.toString().replace(/"/g,'') );
}
答案 1 :(得分:1)
请试试这个:
for each (var color in cars.*.*)
color.* = color.toString().replace(/"/g,'');