xmlSerialzer를 사용하여 xml을 출력하는 WCF 서비스를 작성하려고합니다. DataContract Seriailzer를 사용하지 않는 XML 출력이 필요합니다. 특히 나는 정의 된 스키마 등을 가진 카탈로그 서비스 웹 (csw)을 작성 중이다.XMLSerializer를 사용하여 클래스 멤버에 특성 추가
나는 먼저 클래스를 작성한 다음 XML이 출력되고 있는지 테스트하려고 노력 해왔다. 이것은 다소 번거롭기 때문에 xsd 유틸리티로 전환 할 수 있습니다. 내가 알고 싶은 것은 다른 클래스 멤버에게 XML 속성을 추가 할 수 있습니까? 아니면 장식 된 xmlattributes만이 루트 요소, 즉 클래스 이름에만 추가됩니까? XDocument를 사용하여 손으로 CML을 작성하는 것보다 유연성 문제가있는 것으로 보입니다. 또한 (컬렉션이 아닌) 요소를 중첩해야 할 때마다 새 클래스를 만들어야하는 것 같습니다. 그게 맞습니까?
내가 필요로 출력 XML은 다음과 같습니다
public class ContactInfo
{
[XmlElement]
public string OnlineResource = "";
[XmlElementAttribute(ElementName = "OnlineResource",Namespace = "http://www.w3.org /1999/xlink")]
public string href = "mailto:[email protected]";
}
다음과 같이 XML을 출력합니다 : 여기
<ows:ContactInfo>
<ows:OnlineResource
xlink:href="mailto:[email protected]"/>
</ows:ContactInfo>
내 클래스입니다
<ows:ContactInfo xlink:href="mailto:[email protected]">
<ows:OnlineResource>mailto:[email protected]</ows:OnlineResource>
</ows:ContactInfo>
미안 내가 필요로하는 출력은 다음과 같습니다 [email protected] OWS : ElectronicMailAddress> OWS : 주소> ows : ContactInfo> –
Euston