2013-07-04 2 views
1

네임 스페이스가있는 xml 문서를 작성해야합니다. 루트 요소를 만들 때 필요한 모든 네임 스페이스를 xmlAttribute[xmlns]으로 정의합니다. 그러나 그 후, 자식 요소를 만들 때이 네임 스페이스 참조가 표시됩니다. 그것에 대해 무엇을해야합니까?Xml 네임 스페이스 - Coldfusion

여기 내 코드 예제

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'; 

하고 UBLVersionID 요소는 다음과 같아야합니다 그러나 결과는

<?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> 

입니다. 자식 요소가 네임 스페이스를 다시 표시하는 것을 원하지 않습니다.

<cbc:UBLVersionID>2.0</cbc:UBLVersionID> 
+0

누구나 답변 해주세요. – AKBAL

답변

0

내장 함수를 사용하지 않고 직접 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이 포함됩니다.

+0

@AKBAL 이렇게하면 이런 일들이 문제가되지 않습니다. –