클래스에서 다음 XML 노드를 작성하려고합니다.클래스에서 XML 생성
<Foo id="bar">some value</Foo>
클래스 정의는 어떻게해야합니까?
나는이 속성에 XML 속성을 추가해야하지만 확실하지는 않습니다.
클래스에서 다음 XML 노드를 작성하려고합니다.클래스에서 XML 생성
<Foo id="bar">some value</Foo>
클래스 정의는 어떻게해야합니까?
나는이 속성에 XML 속성을 추가해야하지만 확실하지는 않습니다.
System.Xml.Serialization 네임 스페이스 아래의 특성을 살펴보십시오. 귀하의 경우 클래스는 아래 코드와 유사해야합니다.
public class StackOverflow_8281703
{
[XmlType(Namespace = "")]
public class Foo
{
[XmlText]
public string Value { set; get; }
[XmlAttribute]
public string id { set; get; }
}
public static void Test()
{
MemoryStream ms = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(Foo));
Foo foo = new Foo { id = "bar", Value = "some value" };
xs.Serialize(ms, foo);
Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
}
}
업데이트는 : 유형을 직렬화하는 코드를 추가했다.
C# 및 Visual Basic의 경우 수동으로 수행 할 이유가 없습니다. Visual Studio에는 클래스 또는 xml 스키마를 생성하는 명령 줄 도구가 포함되어 있습니다. 자세한 내용은 http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx을 참조하십시오.
정말요? 손으로 직접하는 대신 존재하는 도구를 사용하는 것이 좋습니다. –
동의합니다 - 이유는 무엇입니까? 그리고 더 설명하자면 왜 투표를하지 않을까요? 그건 도움이되거나 예의 바뀌지 않습니다. 잘 정의 된 스키마로 작업하는 경우 (그리고 그렇지 않은 경우 왜 그렇게하지 않는가? 매우 단순한 경우를 제외하고는 매우 유용합니다) 다음은 위대한 도구입니다. 코드와 스키마를 수동으로 업데이트하는 것보다 한 곳에서 스키마를 업데이트하고 코드를 다시 생성 해 보겠습니다. –
이 도구는 정말 좋습니다. 나는 또한 downvoting 이유를 이해할 수 없다, 그래서 나는 upvote 준 : – dasheddot
ok 그리고 값을 할당 한 후에이 클래스에서 XML을 생성하려면 어떻게해야합니까? – DarthVader
예를 들어 답을 편집했습니다. 이를 위해'XmlSerializer' 클래스를 사용할 것입니다. – carlosfigueira
감사합니다. 이것이 XML을 생성하는 효율적인 방법입니까? 더 나은/빠른 방법으로 연구해야합니까? – DarthVader