다음은 LINQ를 사용 하 여 일부를 구문 분석을 빠른 예 XML과 달콤한에서, 달콤한 거기 특성.
XML을 구문 분석할 같습니다.:
<?xml 형식 버전 = "1.0" 인코딩 = "은 utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout 이름 = "xyzzy">
<탭>
<TabOrder 탭 = "1" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
<TabOrder 탭 = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
</탭>
</PageLayout><PageLayout 이름 = "xyzzy2">
<탭>
<TabOrder 탭 = "100" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
<TabOrder 탭 "101 =" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
<TabOrder 탭 = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
</탭>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
위의 구문 분석 하 여 런타임 시 일부 탭을 구축 하 고 싶습니다. 내 탭 페이지 레이아웃에 따라 다릅니다. 내 페이지 레이아웃의 이름을 "xyzzy2" 이면 다음 나 싶어 탭 100, 101 그리고 103 (탭 <PageLayout 이름 = "xyzzy2">).
그것 않는 LINQ 같습니다.:
var allTabs =
p에서
XElement.Parse(theXmlToParse).
요소("PageLayouts").
요소("PageLayout")
어디 (p.Attribute("이름").Value.Equals("xyzzy2"))
p.Elements m("탭").요소("탭")
m 선택;Results.Text = 문자열.빈;
foreach (Alltabs에서 var aTab)
{
Results.Text =
"탭 순서: " + aTab.Attribute("TabOrder").값 + " |" +
"라벨 탭: " + aTab.Attribute("TabLabel").값 + " | " +
"SharePointContentType: " + aTab.Attribute("SharePointContentType").값 + " | " +
"AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").값 + "r";
}
위의, 변수 "theXmlToParse"는 문자열 변수가입니다., 하지만 부하를 사용할 수 있습니다.() 원한다 면 stream 메서드.
"결과"는 레이블을 web form에이 코드를 실행 하는 경우, 그것은 이것 처럼 보인다:
아직 결과 정렬 하는 방법을 밖으로 일을 하지 않았습니다., 그래서 미래의 블로그 게시물에 대 한 그을 떠날 거 야.
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin