首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xml命名空间- Coldfusion

Xml命名空间- Coldfusion
EN

Stack Overflow用户
提问于 2013-07-04 20:58:31
回答 1查看 440关注 0票数 1

我需要构建一个带有名称空间的xml文档。在创建根元素时,我用xmlAttribute[xmlns]定义了所有必要的名称空间。但是之后,当我创建一个子元素时,这个名称空间引用也会显示出来。我需要为此做些什么?

以下是我的代码示例

代码语言:javascript
复制
my_doc = XmlNew();
my_doc.xmlRoot = XmlElemNew(my_doc,"Invoice");
my_doc.xmlRoot.XmlAttributes["xmlns"] = 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2';
    my_doc.xmlRoot.XmlAttributes["xmlns:cbc"] = 'urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2';
    my_doc.Invoice.XmlChildren[1] = XmlElemNew(my_doc,"cbc:UBLVersionID");
    my_doc.Invoice.XmlChildren[1].XmlText = '2.0';

结果就是

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
    <cbc:UBLVersionID xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">2.0</cbc:UBLVersionID>
</Invoice>

但是,UBLVersionID元素应该如下所示。我不希望该子元素再次显示名称空间。

代码语言:javascript
复制
<cbc:UBLVersionID>2.0</cbc:UBLVersionID>
EN

回答 1

Stack Overflow用户

发布于 2013-07-09 02:47:58

您可以自己构建XML对象(不使用内置函数)。类似于:

代码语言:javascript
复制
<cfsavecontent var="my_doc">
    <?xml version="1.0" encoding="UTF-8"?>
    <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
        <cbc:UBLVersionID>2.0</cbc:UBLVersionID>
    </Invoice>
</cfsavecontent>

变量my_doc现在将包含您首选格式的XML。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17470953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档