1

名前空間を使用して 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>
4

1 に答える 1

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 が含まれます。

于 2013-07-08T18:47:57.840 に答える