.NET의 직렬화된 XML에서 모든 네임스페이스 제거
객체를 XML로 직렬화하는 과정에서 다음과 같은 네임스페이스를 접하는 것이 일반적입니다. 직렬화된 문서에 "xsi" 및 "xsd"가 추가됩니다. 이러한 네임스페이스는 혼란과 복잡성의 원인이 될 수 있습니다.
제공된 코드 조각은 OmitXmlDeclaration 플래그를 설정하여 XML 네임스페이스를 생략하려고 시도합니다. 그러나 결과 XML에는 여전히 xsi 및 xsd 네임스페이스가 포함됩니다. 이러한 네임스페이스를 완전히 제거하려면 추가 단계가 필요합니다.
해결책은 빈 XmlSerializerNamespaces 개체를 정의하고 이를 Serialize 메서드에 전달하는 것입니다.
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace for each prefix s.Serialize(xmlWriter, objectToSerialize, ns);
이 코드는 빈 네임스페이스를 XML 문서에서 접두사 또는 네임스페이스 선언을 효과적으로 제거합니다. 결과적으로 직렬화된 문서에는 깨끗한
<message> ... </message>
위 내용은 .NET의 직렬화된 XML에서 모든 네임스페이스를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!