【问题标题】:E4X: how to add a default namespase to exisitng E4X objectE4X:如何将默认命名空间添加到现有 E4X 对象
【发布时间】:2026-01-05 02:10:02
【问题描述】:

如果已经创建了 E4X 对象,那么我可以添加一个新的命名空间,例如:

addNamespace( new Namespace( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ) );

但是,我以类似方式定义默认命名空间的尝试失败了。有一种解决方法是将此 E4X 对象转换为字符串并替换第一个元素,但这有点人为。

基本上,我想要实现的是从这里开始:
<PRPA_INxxxxxx ITSVersion="XML_1.0">;

到这里(问题是如何定义“urn:hl7-org:v3”):
<PRPA_INxxxxxx ITSVersion="XML_1.0" xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;

【问题讨论】:

    标签: javascript xml namespaces xml-namespaces e4x


    【解决方案1】:

    使用default xml namespace 语句:

    default xml namespace = "urn:hl7-org:v3";
    

    参考文献

    【讨论】:

    • 有趣,我尝试了同样的方法但没有成功,可能我错过了一些东西。这是有效的最终代码: default xml namespace = "urn:hl7-org:v3"; var prpa = new XML(msg.toString()); prpa.addNamespace(new Namespace("xsi", "w3.org/2001/XMLSchema-instance"));