태그명으로 찾기
GetElementsByTagName("찾을태그네임") |
XmlDocument(루트노드(문서자체))객체에서도 되고 XmlElement객체에서도 가능한 함수이며,
현제위치에서 '찾을태그네임'과 일치 하는 모든 하위 노드를 가져와 XmlNodeList를 반환 한다.
이거 javascript에서 썼던 함수와 이름과 인자가 완전히 일치하는것을 느꼈는가?
잘 모르겠다면 javascript편을 하나하나 훝어 보시길...
그런데 이함수의 용법을 보려고 MSDN에 갔더니 아래처럼 말한다.-_-;;;
참고에 나오는 방법은 다음 정리중에서 할것이니 일단은 GetElementsByTagName()를 사용해보겠다.
예제에서 가져온 하위 노드들을 가지고 같은 출력 다른 코딩을 해봤다.
예제는 booklist.xml에서 book의 모든 자식 title태그의 값 즉 모든 책제목을 출력하는 것이다.
(코딩은 간결하게 하기 귀찮아 붙여넣기 반복했다. 가독성은 좋다..... -_-;;)
예제에 쓰일 boolist.xml문서
<?xml version="1.0" encoding="utf-8" ?> |
public string pathURI=@"..\..\files\booklist.xml"; XmlDocument doc = new XmlDocument(); XmlNodeList titles= doc.GetElementsByTagName("title"); for (int i = 0; i < titles.Count; i++) {1,-20}",i,titles[i].ChildNodes[0].Value); | |
for (int i = 0; i < titles.Count; i++) | |
for (int i = 0; i < titles.Count; i++) | |
for (int i = 0; i < titles.Count; i++) |
출력결과
이것 외에도 똑같은 값을 다르게 출력할 수 있는 방법이 있으나 이정도면 자주쓰는 것이므로 여기서 정리하겠다.
ID로 해당 엘리먼트 가져오기
GetElementById("찾을ID") |
'찾을ID'에 해당하는 XmlElement 객체를 반환한다.반환형은 XmlElement이다.
위의 함수와 비슷한 용법처럼 보이나 이 함수는 XmlDocumnet(루트노드(문서자체))에서만 가능하다. 그리고 위 함수 처럼
리스트를 가져오는 것이 아니라 XmlElement객체 하나만을 가져온다.(당연히 ID값은 유일하니까...)
예제) ID값이 b002인 책이름 가져오기
public string pathURI=@"..\..\files\booklist.xml"; XmlDocument doc = new XmlDocument(); XmlElement rootElet = doc.DocumentElement; |
b002인 ID를 갖는 엘리먼트를 book에 담고 그 book의 자식노드집합중에 첫번 째 노드 즉 Text엘리먼트의 InnerText를 출력한다. 값을 출력하는 방법은 여러가지가 있다는 것은 위에서 언급했으니 왜 이걸했냐고 묻지 말것~... |
출력결과)
'프로그래밍 > .Net' 카테고리의 다른 글
[본문스크랩] .NET에서 XML활용 DOM 객체 활용-4 XML문서 수정하기 (0) | 2014.01.17 |
---|---|
[본문스크랩] .NET에서 XML활용 DOM 객체 활용-3 XML문서에 노드들추가하기 (0) | 2014.01.17 |
[본문스크랩] .NET에서 XML활용 DOM객체 활용-1 DOM객체의 프로퍼티,함수들과 계층구조 (0) | 2014.01.17 |
[본문스크랩] .NET에서 XML활용 XmlWriter로 XML문서 만들기 (0) | 2014.01.17 |
[본문스크랩] .NET에서 XML활용 원하는 노드의 값들 출력하기 (0) | 2014.01.17 |