티스토리 뷰
출처 : http://blog.naver.com/sangsanq/50014598176
1.XML Read
XmlReader
-> XmlTextReader, XmlNodeReader, XmlValidatingReader
-> XmlTextReader, FileStream을 통해 XML문서를 로드
XmlNodeReader
-> 스트림 대신 XmlNode를 소스로 사용
XmlValidatingReader
-> XML문서에 대한 유효성 검사
-> XmlTextReader의 모든 기능 포함 + ValidationType, Schemas, SchemaType
-> ValidationType : Auto, DTD, Schema, XDR, None
2.XML Write
XmlWriter
-> XmlTextWriter 를 이용하여 XML 문서 생성
Ex)
XmlTextWriter tw = new XmlTextWriter("파일명",인코딩방식);
tw.Formatting = Formatting.Indented;
tw.WriteStartDocument(); // Xml 문서 시작
tw.WriteStartElement("genre","Mystery");
.
.
.
tw.WriteEndDcoumnet();
tw.Flush();
tw.Close();
3.DOM
-> XmlNode : XML문서의 노드를 나타내는 추상 클래스 XmlNode 클래스를 통해 구현
-> XmlNodeList : XML노드들의 순서화된 리스트
-> 이 두개의 클래스가 .NET 프레임워크의 DOM의 핵심
Ex)
XmlDocument doc = new XmlDocument();
doc.Load("파일경로");
XmlNodeList nl = doc.GetElementByTagName("노드명");
foreach(XmlNode node in nl) MessageBox.show(node.InnerText);
4.XPath
-> XML문서에 대한 빠른 반복문 수행과 데이터 추출을 위해 만들어짐.
XPathDocument : XML문서의 뷰,readony. 문서 Load 4개 오버로드(파일과 경로문자열, TextReader,XmlReader, Stream 기본객체)
XPathNavigator : XPathDocument 탐색
XpathNodeIterator : 노드집합에 대한 반복문 수행
XPathExpression : 검색 식. ex) "/bookstore/book[@genre='novel']"
XPathException
=> XPathNavigator : 생성시 XPathDocument를 IXPathNavigator 인터페이스로 캐스트
=> XPathNodeIterator : 처리할 노드의 서브셋 추출시 모든 Select 메소드들은 XPathNodeIterator 객체 반환
Ex)
XPathDocument doc=new XPathDocument("..\\booksxpath.xml");
XPathNavigator nav=((IXPathNavigable)doc).CreateNavigator();
XPathNodeIterator iter=nav.Select("/bookstore/book[@genre='novel']");
while(iter.MoveNext()) {
MessageBox.Show(iter.Current);
}
5.XslTransform
=> xsl (스타일시트) 문서 변경시 사용
6.ADO.NET <=> XML
DataBase 자료 => DataSet 클래스의 WriteXml 메소드 이용하여 XML 문서 생성.
ex ) string file = "c:\test\prod.xml";
ds.WriteXml(file);
XML => DataSet readXml => DataGrid, ListBox
DiffGram => 편집 전후의 데이터를 포함하고 있는 XML 문서, 데이터 변경,추가,삭제의 조합도 포함.
6.Serialization
-> 어떤 객체를 구하여 디스크에 저장하는 과정
-> 객체의 public 프로퍼티와 public 필드를 XML의 element, attribute 로 변환 by XmlSerializer
-> Serialize를 통해 특정 객체의 상태를 XML형식의 문서로 변환
Ex)
Products pd = new Products();
pd.property = X; // 프로퍼티 설정
TextWriter tr = new StreamWriter("XML 파일");
XmlSerialize sr = new XmlSerializer(typeof(Object));
sr.Serialize(tr,pd);
tr.Close();
7.Deserialization
-> 직렬화 이전상태로 돌아가는것
-> XML문서를 Deserialize를 통해 Serialize 이전상태의 객체로 환원하는것.
-> Deserialize 을 통해 Xml 문서를 객체를 참조하듯 사용할 수 있음.
Ex)
Products newPd;
FileStream f = new FileStream("XML 파일");
XmlSerializer newSr = new XmlSerializer(typeof(Products));
newPd = (Products)newSr.Deserializer(f);
listBox1.Items.Add(newPd.ProductName);
f.close();
'Network > XML' 카테고리의 다른 글
A Guide to XML Import QuarkXTensions Software (0) | 2008.02.20 |
---|
- Total
- Today
- Yesterday
- Life News
- 3D Engine
- WDB
- network
- win32
- C#
- BadCode
- 짤방 및 아이콘
- Military
- Tech News
- cartoon
- Linux
- Assembly
- Web Programming
- Information Processor
- 막장로그
- humor
- diary
- 야마꼬툰
- Reverse Engineering
- Embedded System
- USB Lecture
- console
- medical
- 나비효과
- Network Inspector
- wallpaper
- 프리랜서로 살아남는 법
- Mabinogi
- Battle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |