XML을 만들기 위해 XmlSerializer를 사용하고 있습니다. 그러나, 나는 출력에 www.w3.org 네임 스페이스 물건을 얻고 있으며 그것을 원하지 않는다. 나는 내 serialization 코드이다. 나는 이것을 없애기로되어 있다고 생각했던 줄인 xmlSerializerNameSpaceValue.Add(String.Empty, String.Empty);
을 포함하고 있지만, 작동하지 않는 것 같아서, 네임 스페이스 값을 BOM_Request 섹션으로 옮긴다. 나는 아래 코드와 출력을 xmlSerializerNameSpaceValue.Add(String.Empty, String.Empty);
없이 출력하고 출력을 내 보냈다. 이 네임 스페이스를 제거하려면 어떻게해야합니까?String.Empty를 제공 한 후에도 XML serializer가 여전히 기본 네임 스페이스를 추가합니다.
직렬화 코드 :
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