나는 C# 목록에서 XML 문서를 생성하려고합니다. xml 문서는 타사 XML 스키마를 준수해야합니다.MVC3 XML로 Linq를 사용하여 XML 파일을 반환
XSD2CODE 도구를 사용해 보았지만 어디에도 가지 않았습니다.
누군가 LINQ to XML을 사용하여 XML 파일을 생성하고 MVC3을 사용하여 XML 파일을 반환하는 방법을 알려주십시오.
나는 C# 목록에서 XML 문서를 생성하려고합니다. xml 문서는 타사 XML 스키마를 준수해야합니다.MVC3 XML로 Linq를 사용하여 XML 파일을 반환
XSD2CODE 도구를 사용해 보았지만 어디에도 가지 않았습니다.
누군가 LINQ to XML을 사용하여 XML 파일을 생성하고 MVC3을 사용하여 XML 파일을 반환하는 방법을 알려주십시오.
LINQ to XML은 XML 쿼리에 사용되며 생성되지 않습니다. XML 파일을 생성하려면 다른 기술이있다 :
그러나 어떤 XML 생성 기술을 채택하든 XML 생성 배관으로 컨트롤러를 오염시키는 대신이 작업을 수행 할 사용자 지정 작업 결과를 작성하는 것이 좋습니다. 이는 절대적으로 그렇지 않습니다. 책임.
세 번째 방법 (XmlSerializer
)을 사용하는 예를 들어 보겠습니다.
public class MyViewModel
{
public string Foo { get; set; }
public string Bar { get; set; }
}
이제 우리는 사용자 지정 작업 결과를 쓸 수있는이 변환을 수행합니다 :
public class XmlResult : ActionResult
{
public XmlResult(object data)
{
if (data == null)
{
throw new ArgumentNullException("data");
}
Data = data;
}
public object Data { get; private set; }
public override void ExecuteResult(ControllerContext context)
{
var response = context.HttpContext.Response;
response.ContentType = "text/xml";
var serializer = new XmlSerializer(Data.GetType());
serializer.Serialize(response.OutputStream, Data);
}
}
과를
당신이 XML로 변환 할 뷰 모델을 정의했다고 가정하자 컨트롤러 동작은 꽤 표준이 될 것입니다 :
public ActionResult Index()
{
var model = new MyViewModel
{
Foo = "foo",
Bar = "bar"
};
return new XmlResult(model);
}
ASP.NET MVC 4 웹 API를 통해 이러한 시나리오를 매우 쉽게 확인할 수 있습니다. 당신이하여 XDocument를 만들 경우
, 당신
Blog post showing how to create a file from XDocument
이 XDocument MSDN에 따르면 당신에 저장할 수 있습니다 것이 파일을 작성해야하는 문서에 저장() 메서드를 호출 한 다음에 XElements를 추가하고 스트림 또는 직접 파일로. 여기를 볼 수있는 행동으로 반환하려는 경우 여기 How to return an XML string as an action result in MVC
다음은 일반적인보기 대신 XML 사이트 맵을 반환하는 방법을 보여줍니다. Sitemap (Sitemap) (http : // www .networkozone.com/snippets/c-sharp/7/asp-net-mvc-simple-sitemap) – formatc