XMLを作成するためにXmlSerializerを使用しています。しかし、私の出力にはwww.w3.orgの名前空間のものがあります。私はそれを望んでいません。私は私のシリアル化コードです。私はこれを取り除くはずだと思っていた xmlSerializerNameSpaceValue.Add(String.Empty, String.Empty);
という行を含めていますが、動作していないようで、名前空間の値をBOM_Requestセクションに移動するだけです。私はxmlSerializerNameSpaceValue.Add(String.Empty, String.Empty);
とその出力なしで、私のコードを下書きして出力をindcluded。どうすればこれらの名前空間を取り除くことができますか?XMLシリアライザは、String.Emptyを指定してもデフォルトの名前空間を追加します。
シリアルコード:
XmlSerializer serializer = new XmlSerializer(typeof(Request));
StringWriter stringWriter = new StringWriter();
String xmlRequest;
XmlSerializerNamespaces xmlSerializerNameSpaceValue = new
XmlSerializerNamespaces();
xmlSerializerNameSpaceValue.Add(String.Empty, String.Empty);
serializer.Serialize(stringWriter, request, xmlSerializerNameSpaceValue);
xmlRequest = stringWriter.ToString();
stringWriter.Close();
なし:
<?xml version="1.0" encoding="utf-8"?>
<Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RequestHeader>
<Field fieldName="RuleServTypeCode" value="FVAR" />
</RequestHeader>
<RequestPayload>
<BOM_Request xsi:type="LossIncurredPayload" path="1" sequenceNum="1" requestSentDate="2016-06-30" validationType="LossInc" transactionId="10" decisionType="LossInc">
<BOM_Policy path="1" sequenceNum="1" log_key="760" clm_ser_nbr="416006" />
</BOM_Request>
</RequestPayload>
</Request>
付:
<?xml version="1.0" encoding="utf-8"?>
<Request>
<RequestHeader>
<Field fieldName="RuleServTypeCode" value="FVAR" />
</RequestHeader>
<RequestPayload>
<BOM_Request d3p1:type="LossIncurredPayload" path="1" sequenceNum="1" requestSentDate="2016-06-30" validationType="LossInc" transactionId="10" decisionType="LossInc" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">
<BOM_Policy path="1" sequenceNum="1" log_key="760" clm_ser_nbr="416006" />
</BOM_Request>
</RequestPayload>
</Request>
RequestPayloadクラス:
[XmlIncludeAttribute(typeof(LossTrxPayload))]
[XmlIncludeAttribute(typeof(PremiumPayload))]
[XmlIncludeAttribute(typeof(LossIncurredPayload))]
public class RequestPayload
{
[XmlElement]
public List<Payload> BOM_Request { get; set; }
}
'RequestPayload'クラスはどのようなものですか? – dbc
@dbcただ追加しました – intA