我需要构建一个带有名称空间的xml文档。在创建根元素时,我用xmlAttribute[xmlns]定义了所有必要的名称空间。但是之后,当我创建一个子元素时,这个名称空间引用也会显示出来。我需要为此做些什么?
以下是我的代码示例
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';结果就是
<?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元素应该如下所示。我不希望该子元素再次显示名称空间。
<cbc:UBLVersionID>2.0</cbc:UBLVersionID>发布于 2013-07-09 02:47:58
您可以自己构建XML对象(不使用内置函数)。类似于:
<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。
https://stackoverflow.com/questions/17470953
复制相似问题