0
私は、Excel 2013を使用して、スプレッドシートのデータをXMLマップを使用してXML形式に変換しています。変換はうまくいきますが、Excelでは、下のコードに示すように、出力ファイルのすべてのXML名前空間接頭辞を "ns1"にデフォルト設定しています。Excel to XML名前空間プレフィックスのカスタマイズ
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns1:CarrierInterface xmlns:ns1="http:/exampleurl.com/"> <ns1:Sender>sender</ns1:Sender> <ns1:Receiver>receiver</ns1:Receiver> <ns1:RecordCount>1</ns1:RecordCount> <ns1:SequenceID>143</ns1:SequenceID> <ns1:Device> <ns1:ID>123456789</ns1:ID> <ns1:Make>make</ns1:Make> <ns1:Model>model</ns1:Model> <ns1:ModelYear>2017</ns1:ModelYear> <ns1:DeviceWiFiType>True</ns1:DeviceWiFiType> <ns1:PairingState>Initial</ns1:PairingState> </ns1:Device> </ns1:CarrierInterface>
エクセルへの変換所望の出力
<?xml version="1.0" encoding="UTF-8"?>
<carrierInterface:CarrierInterface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:carrierInterface="http:/exampleurl.com/" xsi:schemaLocation="http:/exampleurl.com/">
<carrierInterface:Sender>sender</carrierInterface:Sender>
<carrierInterface:Receiver>receiver</carrierInterface:Receiver>
<carrierInterface:RecordCount>1</carrierInterface:RecordCount>
<carrierInterface:SequenceID>143</carrierInterface:SequenceID>
<carrierInterface:Device>
<carrierInterface:ID>123456789</carrierInterface:ICCID>
<carrierInterface:Make>make</carrierInterface:Make>
<carrierInterface:Model>model</carrierInterface:Model>
<carrierInterface:ModelYear>2017</carrierInterface:ModelYear>
<carrierInterface:DeviceWiFiType>True</carrierInterface:DeviceWiFiType>
<carrierInterface:PairingState>Initial</carrierInterface:PairingState>
</carrierInterface:Device>
</carrierInterface:CarrierInterface>
は、マクロを記述することなく、これらの名前空間接頭辞をカスタマイズするための簡単な方法を知って誰ですか?また、次の行に示すCarrierInterfaceの名前空間定義に指定されたURLをExcelがドロップする理由を知っていますか?
所望の出力
<carrierInterface:CarrierInterface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:carrierInterface="http:/exampleurl.com/" xsi:schemaLocation="http:/exampleurl.com/">
実際の出力
<ns1:CarrierInterface xmlns:ns1="http:/exampleurl.com/">