2012-05-24 3 views
0

내가 원하는 것을 쉽게 할 수있는 방법을 찾을 수 없습니다. 나는 객체가 있습니다XML 문서 관리

public class Item 
{ 
    public string Name { get; set; } 
} 

을 그리고 내가 할 : XML 문서)

<?xml version="1.0" encoding="utf-8"?> 
<Items> 
    <Item Name="Item1"/> 
    <Item Name="Item2"/> 
</Items> 

2 읽기 :

for each NodeT node in MyXMLDocument 
{ 
    Item i = new Item(node); 
} 

1) XML 문서 만들기 3) XML 문서 관리, 예를 들어 Item1 삭제 및 Item3 추가 (또는 속성 값 변경)

<?xml version="1.0" encoding="utf-8"?> 
<Items> 
    <Item Name="Item2"/> 
    <Item Name="Item3"/> 
</Items> 

가능한 한 간단하게이 작업을 수행 할 수 있습니까? 감사합니다. . XML에

답변

0

XML 직렬화는, 내보기에 가장 쉬운 방법이 될 것입니다 당신의 객체를 문자열로 변환 한 다음 파일에 저장합니다.

string ToXml(object instance) 
{ 
    XmlSerializer serializer = new XmlSerializer(instance.GetType()); 
    StringBuilder builder = new StringBuilder(); 

    using (StringWriter writer = new StringWriter(builder)) 
    { 
     serializer.Serialize(writer, instance); 
     return builder.ToString(); 
    } 
} 

XML에서 .NET 객체로 다시 읽으려면 Deserialize을 호출하면됩니다. 필요한 경우 속성을 사용하여 객체를 사용자 정의하여 XML에 표시되는 방식을 선택할 수 있습니다.

+0

고마워,하지만 이런 식으로 3 가지 요구를 볼 수는 없어. – gliderkite

+0

@gliderkite 당신은 XML 문서를 생성하고 그것을 업데이트하기를 원합니다, 확실히 이것은 XML 요소를 조작하는 것보다 쉽습니다. 아니면 함께 사용할 기존 XML이 있습니까? –

+0

나는 내 데이터 구조를 가지고 있으며 이것으로 작업한다. XML 문서에서 데이터 구조를 직렬화하고 싶다. 그래서 나는 나의 3 가지 질문에 대답 할 길을 찾아야한다. – gliderkite

0

사용 Linq에 : 당신은 <ArrayOfItems>

당신은 직렬화 수에 대한 <items>을을 희생해야하지만

MSDN - Linq to XML

LINQ to XML

+0

Linq과 XML을 사용하여 3 가지 예를 만들 수 있습니까? – gliderkite