C\#.NET 프레임 워 크 의 XmlTextReader 클래스 를 통 해 XML 을 읽 는 방법
이 는 XmlReader 를 실현 하고 W3C 확장 가능 한 태그 언어(XML)1.0 과'XML 의 네 임 스페이스'제안 에 부합 합 니 다.XmlTextReader 는 다음 과 같은 기능 을 제공 합 니 다.
형식 이 좋 은 XML 규칙 을 실행 합 니 다
데이터 검증 을 수행 하려 면 검증 XmlReader 를 사용 하 십시오.더 많은 정 보 는 XmlReader 를 사용 하여 XML 데 이 터 를 검증 하 는 것 을 참조 하 십시오.
XmlDocument 에서 XML 데 이 터 를 읽 으 려 면 XmlNodeReader 를 사용 하 십시오.
XmlTextReader 는 XML 분석 오류 가 발생 했 을 때 XmlException 을 일 으 킵 니 다.이상 을 일 으 킨 후 리더 의 상 태 는 예측 할 수 없다.예 를 들 어 보고서 의 노드 유형 은 현재 노드 의 실제 노드 유형 과 다 를 수 있 습 니 다.ReadState 속성 을 사용 하면 리더 가 잘못된 상태 인지 확인 할 수 있 습 니 다.
XmlReader 류 에 대한 추가 논술 은 XmlReader 로 XML 을 읽 는 것 을 참조 하 십시오.
안전 주의사항:
XmlTextReader 를 사용 하여 xml 문 서 를 처음부터 끝까지 읽 으 면 대량의 데이터 읽 기 에 적합 합 니 다.
static void Main(string[] args)
{
XmlTextReader reader;
if (File.Exists("student.xml"))// ,
{
reader = new XmlTextReader("student.xml");
}
else//
{
return;
}
int count = 0;
while (reader.Read())//
{
if (reader.Name == "student")
{
//
Console.WriteLine(reader.GetAttribute("id") + " " + reader.GetAttribute("age") + " " + reader.ReadString());
count++;
}
}
reader.Close();//
Console.WriteLine("Count is " + count);
Console.ReadKey();
}
물론 xml 문서 로 구조 적 으로 읽 을 수도 있 지만 읽 기 전 시스템 은 전체 문서 의 구 조 를 가 져 옵 니 다.
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
if (File.Exists("student.xml"))// ,
{
doc.Load("student.xml");
}
else//
{
Console.WriteLine(" !");
Console.ReadKey();
return;
}
XmlNodeList list = doc.DocumentElement.SelectNodes("student");// , XmlNodeList
foreach (XmlNode node in list)// list
{
XmlElement ele = (XmlElement)node;// , element
Console.WriteLine(ele.GetAttribute("id") + " " + ele.GetAttribute("age") + " " + ele.InnerText);// /
}
Console.ReadKey();
}
실행 효과 가 똑 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.