방법: 문자열 구문 분석
업데이트: November 2007
이 항목에서는 C#과 Visual Basic에서 문자열의 구문을 분석하여 XML 트리를 만드는 방법을 보여 줍니다.
예제
다음 C# 코드에서는 문자열의 구문을 분석하는 방법을 보여 줍니다.
XElement contacts = XElement.Parse(
@"<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone Type=""home"">206-555-0144</Phone>
<Phone type=""work"">425-555-0145</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>10</NetWorth>
</Contact>
<Contact>
<Name>Gretchen Rivas</Name>
<Phone Type=""mobile"">206-555-0163</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>11</NetWorth>
</Contact>
</Contacts>");
Console.WriteLine(contacts);
Visual Basic에서 비슷한 방식으로 문자열의 구문을 분석할 수 있습니다. 그러나 XML 리터럴을 사용하면 문자열에서 XML의 구문을 분석하는 것과 동일한 성능 저하가 발생하지 않기 때문에 다음 코드에서와 같이 XML 리터럴을 사용하는 것이 더 효율적입니다.
XML 리터럴을 사용하는 경우 XML을 복사하여 Visual Basic 프로그램에 붙여 넣기만 하면 됩니다.
참고: |
---|
텍스트의 구문을 분석하거나 텍스트 파일에서 XML 문서를 로드하는 방법은 함수 생성보다 효율적이지 않습니다. 코드에서 XML 트리를 초기화하는 경우 텍스트의 구문을 분석하는 경우보다 함수 생성을 사용하는 경우에 프로세서 시간을 적게 사용합니다. |
Dim contacts as XElement = _
<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone Type="home">206-555-0144</Phone>
<Phone Type="work">425-555-0145</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>10</NetWorth>
</Contact>
<Contact>
<Name>Gretchen Rivas</Name>
<Phone Type="mobile">206-555-0163</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>11</NetWorth>
</Contact>
</Contacts>