2010-03-18 4 views
11

기존 XML 문서를 조작하고 몇 가지 노드와 속성을 제거하고 새 노드를 추가 할 때 가장 적합한 클래스 그룹은 무엇이 될까요? 이것을 성취합니까?.NET에서 XML을 조작하는 가장 좋은 방법

XML 조작을위한 많은 .NET 클래스가 있으며,이를 수행하는 최적의 방법이 무엇인지 확신 할 수 없습니다.

+0

.NET 버전은 무엇입니까? – AakashM

답변

10

메모리에 맞지 않는 엄청난 XML 인 경우 XmlReader/XmlWriter을 사용해야합니다. 그렇지 않다면 LINQ to XML은 매우 사용하기 쉽습니다. .NET 3.5가 없다면 XmlDocument을 사용할 수 있습니다.

여기 노드를 제거하는 예입니다 : 당신이 공식 스키마가있는 경우

using System.Xml.Linq; 
using System.Xml.XPath; 

var doc = XElement.Load("test.xml"); 
doc.XPathSelectElement("//customer").Remove(); 
doc.Save("test.xml"); 
+0

감사! xml을 메모리의 문자열이나 파일과 만 사용할 수 있습니까? – juan

+0

xml의 출처에 관계없이 xml과 호환됩니다. XElement.Parse()를 호출하고 xml을 문자열로 전달할 수 있어야합니다. –

+0

xml 네임 스페이스, 특히 기본 네임 스페이스를 처리하려면 다음을 확인하십시오. http://stackoverflow.com/questions/25396140/use-xpath-with-xml-namespace – smwikipedia

1

에, 당신은 XmlSerializer를 사용할 수 있습니다. 그렇지 않으면 XmlDocument, XmlNode, XmlElement 등 클래스를 사용하는 것이 가장 좋습니다.

그냥 변환의 경우 그렇지 않으면 그것은 또한 당신이 가장 쉬운 옵션이 될 수있는 XML 스타일 시트와 문서를 구문 분석 등

+0

@Kurt :'XmlSerializer'가 처리하지 못합니다. 모든 스키마. –

관련 문제