XDocument에서 네임스페이스를 사용하여 XML을 구문 분석하는 방법
네임스페이스가 포함된 XML로 작업할 때 코드에서 이를 올바르게 처리하는 것이 중요합니다. . 올바른 네임스페이스를 지정하지 않으면 XDocument가 XML을 효과적으로 구문 분석하지 못할 수 있습니다.
다음 XML 예를 고려하십시오.
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> <EventID>589828</EventID> <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}"> </Correlation> </System> </E2ETraceEvent>
네임스페이스의 경우 특정 요소에 대해 null 값이 발생할 수 있습니다. 다음은 이 문제를 설명하는 코드 조각입니다.
XDocument xDoc = XDocument.Parse(XMLString); XElement xEl1 = xDoc.Element("E2ETraceEvent"); XElement xEl2 = xEl1.Element("System"); XElement xEl3 = xEl2.Element("Correlation"); XAttribute xAtt1 = xEl3.Attribute("ActivityID"); String sValue = xAtt1.Value; // Returns null
해결책: 네임스페이스 사용
네임스페이스가 포함된 XML을 올바르게 구문 분석하려면 다음 전략을 사용해야 합니다.
다음은 이 솔루션을 보여주는 업데이트된 코드 조각입니다.
XNamespace nsSys = "http://schemas.microsoft.com/2004/06/windows/eventlog/system"; XElement xEl2 = xDoc.Element(nsSys + "System"); XElement xEl3 = xEl2.Element(nsSys + "Correlation"); XAttribute xAtt1 = xEl3.Attribute("ActivityID"); String sValue = xAtt1.Value; // Returns the ActivityID
네임스페이스 사용 올바르게 사용하면 코드가 네임스페이스가 포함된 XML 문서에서 데이터를 정확하게 추출하고 조작할 수 있음을 확인할 수 있습니다.
위 내용은 XDocument를 사용하여 네임스페이스가 있는 XML 문서를 올바르게 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!