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