C\#XML 을 읽 는 두 가지 방법

6854 단어 C#XML
XML 작용
    XML 에 대해 여러분 들 이 잘 아 실 것 입 니 다.저도 필 묵 으로 그것 이 무엇 인지 설명 할 필요 가 없습니다.저 는 미래의 웹 개발 에서 XML 이 반드시 이 채 를 띠 고 싶 습 니 다.XML 은 확장 가능 한 태그 언어 로 기업 이 자신의 데이터 형식 을 만 들 수 있 도록 사용 할 수 있 습 니 다.인터넷 데이터 전송 에 사용 되 는 것 은 XML 이 우리 프로그래머 들 에 게 가장 매력 적 인 곳 이 라 고 생각 합 니 다!
    오늘 우리 의 주 제 는 XML 의 장점 을 논술 하 는 것 이 아니 라 C\#에서 XML 을 어떻게 사용 하 는 지 토론 하 는 것 이다.다음은 프로그램 을 이용 하여 XML 을 방문 하 는 기초 이론 지식 을 알 아 보 겠 습 니 다.
방문 한 두 가지 모델:
    프로그램 에서 접근 하여 XML 파일 을 조작 하 는 데 는 일반적으로 두 가지 모델 이 있 는데 그것 이 바로 DOM(문서 대상 모델)과 스 트림 모델 을 사용 하 는 것 이다.DOM 을 사용 하 는 장점 은 XML 문 서 를 편집 하고 업데이트 할 수 있 고 문서 의 데 이 터 를 무 작위 로 방문 할 수 있 으 며 XPath 로 조회 할 수 있다 는 것 이다.그러나 DOM 의 단점 은 전체 문 서 를 메모리 에 한꺼번에 불 러 와 야 한 다 는 것 이다.대형 문서 에 대해 서 는이것 은 자원 문 제 를 야기 할 것 이다.스 트림 모델 은 이 문 제 를 잘 해결 했다.XML 파일 에 대한 접근 은 스 트림 개념 을 사용 하기 때문이다.즉,언제든지 메모리 에 현재 노드 만 있 지만 부족 한 점도 있다.이것 은 읽 기 전용 이 고 앞으로 만 있 으 며 문서 에서 뒤로 탐색 작업 을 수행 할 수 없다.비록 각자 의 장점 이 있 지만,우 리 는 프로그램 에서 두 가 지 를 함께 사용 하여 우열 을 보완 할 수 있 잖 아,하하.
1.DOM 문서 개체 모델 작업

using System.Xml;

XmlDocument xml=new XmlDocument();// xml
xml.Load(path);// xml
xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));XmlNode root=xml.SelectSingleNode("/root");//
XmlNodeList childlist=root.ChildNodes;//
XmlNodeList nodelist=xml.SelectNodes("/Root/News");// string id=node.Attributes["id"].Value;//
string content=node.InnerText;//
root.HasChildNodes;//

1.XmlDocument 클래스 의 속성
   XmlDocument 류 의 속성 및 설명 은 다음 표 와 같다.
속성
설명 하 다.
Attributes
현재 노드 의 속성 집합
BaseURI
현재 노드 의 기본 URI
ChildNodes
노드 의 모든 하위 노드
DocumentElement
문서 의 루트
DocumentType
DOCTYPE 성명 의 노드
FirstChild
노드 의 첫 번 째 키 노드
HasChildNodes
어떤 하위 노드 가 있 는 지 여부
Implementation
현재 문서 의 XmlImplementation 대상 가 져 오기
InnerText
노드 에 포 함 된 모든 텍스트 내용
InnerXml
노드 에 포 함 된 모든 XML 내용
IsReadOnly
현재 노드 가 읽 기 전용 인지 여부
Item
지정 한 하위 요소 가 져 오기
LastChild
마지막 키 노드
LocalName
노드 의 로 컬 이름 가 져 오기
Name
노드 의 한정 명 가 져 오기
NamespaceURI
이 노드 의 네 임 스페이스 URI 가 져 오기
NameTable
이것 과 연 결 된 XmlNametable 가 져 오기
NextSibling
이 노드 에 이 어 진 노드 가 져 오기
NodeType
현재 노드 의 종류 가 져 오기
OuterXml
이 노드 와 모든 하위 노드 를 표시 하 는 표 시 를 가 져 옵 니 다.
OwnerDocument
현재 노드 에 속 한 XmlDocument 가 져 오기
ParentNode
이 노드(부모 급 을 가 질 수 있 는 노드)의 부모 급 가 져 오기
Prefix
이 노드 의 네 임 스페이스 접 두 사 를 가 져 오 거나 설정 합 니 다.
PreserveWhitespace
값 을 가 져 오 거나 설정 합 니 다.이 값 은 요소 내용 에 공백 을 유지 할 지 여부 입 니 다.
PreviousSibling
이 노드 에 이 어 진 노드 가 져 오기
SchemaInfo
노드 의 후 구조 검증 정보 집합 되 돌리 기(PSVI)
Schemas
이 XmlDocument 와 연 결 된 XmlSchemaset 대상 을 가 져 오 거나 설정 합 니 다.
Value
노드 의 값 가 져 오기 또는 설정
XmlResolver
외부 자원 분석 에 사용 할 XmlResolver 설정
  2.XmlDocument 클래스 의 방법
   XmlDocument 류 의 방법 및 설명 은 다음 표 와 같다.
방법.
설명 하 다.
AppendChild
지정 한 노드 를 이 노드 의 하위 노드 목록 의 끝 에 추가 합 니 다.
CreateAttribute
지정 한 이름 을 가 진 XmlAttribute 만 들 기
CreateCDataSection
지정 한 데 이 터 를 포함 하 는 XmlCDataSection 만 들 기
CreateComment
지정 한 데 이 터 를 포함 하 는 XmlComment 만 들 기
CreateDocumentFragment
XmlDocumentFragment 만 들 기
CreateDocumentType
새 XmlDocumentType 대상 되 돌리 기
CreateElement
XmlElement 만 들 기
CreateEntityReference
지정 한 이름 을 가 진 XmlEntityReference 만 들 기
CreateNavigator
이 문 서 를 탐색 할 새 XPath Navigator 대상 을 만 듭 니 다.
CreateNode
XmlNode 만 들 기
CreateProcessingInstruction
지정 한 이름과 데 이 터 를 가 진 XmlProcessingInstruction 을 만 듭 니 다.
CreateSignificantWhitespace
XmlSignificantWhitespace 노드 만 들 기
CreateTextNode
지정 한 텍스트 가 있 는 XmlText 만 들 기
CreateWhitespace
XmlWhitespace 노드 만 들 기
CreateXmlDeclaration
지정 한 값 을 가 진 XmlDeclaration 노드 만 들 기
GetElementById
지정 한 ID 가 있 는 XmlElement 가 져 오기
GetElementsByTagName
하나 되 돌리 기  XmlNodeList  ,지정 한 이름과 일치 하 는 모든 요소 의 목록 을 포함 합 니 다.
GetNamespaceOfPrefix 
현재 노드 범위 에서 주어진 접두사 에서 가장 가 까 운 xmlns 성명 을 찾 고 성명 의 네 임 스페이스 URI 를 되 돌려 줍 니 다.
GetPrefixOfNamespace 
현재 노드 범위 내 에서 주어진 네 임 스페이스 URI 에서 가장 가 까 운 xmlns 성명 을 찾 고 성명 에 정 의 된 접 두 사 를 되 돌려 줍 니 다.
GetType
현재 인 스 턴 스 의 Type 가 져 오기
ImportNode
노드 를 다른 문서 에서 현재 문서 로 가 져 옵 니 다.
InsertAfter
지정 한 노드 를 지정 한 참조 노드 에 바로 삽입 한 후
InsertBefore
지정 한 노드 를 지정 한 참조 노드 에 바로 삽입 하기 전에
Load
지정 한 XML 데이터 불 러 오기
LoadXml
지정 한 문자열 에서 XML 문 서 를 불 러 옵 니 다.
Normalize 
XmlText 노드 를 모두"정상"형식 으로 변환 합 니 다.
PrependChild 
지정 한 노드 를 이 노드 의 하위 노드 목록 의 시작 에 추가 합 니 다.
ReadNode
근거  XmlReader  정보 가 XmlNode 대상 을 만 듭 니 다.판독 기 는 노드 나 속성 에 위치 해 야 합 니 다.
RemoveAll 
현재 노드 의 모든 하위 노드 와/또는 속성 제거
RemoveChild 
지정 한 하위 노드 제거
ReplaceChild 
새 노드 로 오래된 노드 를 교체 하 다.
Save
XML 문 서 를 지정 한 위치 에 저장 합 니 다.
SelectNodes 
XPath 표현 식 과 일치 하 는 노드 목록 선택
SelectSingleNode 
XPath 표현 식 과 일치 하 는 첫 번 째 XmlNode 선택
Supports 
DOM 이 특정 기능 을 실현 하 는 지 테스트 합 니 다.
Validate
XmlDocument 의 옳 고 그 름 을 검증 하 다  Schemas  속성 에 포 함 된 XML 구조 정의 언어(XSD)구조 입 니 다.
WriteContentTo
XmlDocument 노드 의 모든 하위 단 계 를 지정 한 것 으로 저장 합 니 다.  XmlWriter  중.
WriteTo
지정 한 XmlWriter 에 XmlDocument 노드 저장 하기
  자주 사용 하 는 방법 을 소개 하 겠 습 니 다.
  (1)로드 방법
  이 방법 은 문자열 이 지정 한 XML 파일 이나 스 트림 대상,TextReader 대상,XmlReader 대상 에서 XML 데 이 터 를 가 져 올 수 있 습 니 다.
  (2)LoadXml 방법
  이 방법 은 특정한 XML 파일 에서 XML 데 이 터 를 가 져 오 는 기능 을 수행 합 니 다.기본적으로 LoadXml 방법 은 공백 도 유지 하지 않 고 의미 있 는 공백 도 유지 하지 않 습 니 다.이 방법 은 DTD 나 구조 검증 을 실행 하지 않 습 니 다.
  (3)저장 방법
  이 방법 은 XML 데 이 터 를 XML 파일 이나 스 트림 대상,TextReader 대상,XmlReader 대상 에 저장 하여 XML 데 이 터 를 가 져 옵 니 다.
  3.XmlDocument 클래스 의 이벤트
    XmlDocument 류 의 사건 및 설명 은 다음 표 와 같다.
                       시계.  XmlDocument 류 의 이벤트 및 설명
이벤트
설명 하 다.
NodeChanged
이 문서 의 노드 에 속 하 는 Value 가 변경 되 었 을 때 발생 합 니 다.
NodeChanging
이 문서 의 노드 에 속 하 는 Value 가 변 경 될 때 발생 합 니 다.
NodeInserted
이 문서 에 속 하 는 노드 가 다른 노드 에 삽입 되 었 을 때 발생 합 니 다.
NodeInserting
이 문서 에 속 하 는 노드 가 다른 노드 에 삽 입 될 때 발생 합 니 다.
NodeRemoved
이 문서 에 속 하 는 노드 가 부모 에서 제거 되 었 을 때 발생 합 니 다.
NodeRemoving
이 문서 에 속 하 는 노드 가 문서 에서 제 거 될 때 발생 합 니 다.
http://kb.cnblogs.com/page/42226/

좋은 웹페이지 즐겨찾기