0
LINQ 기술을 사용하여 xml 파일을 검색하려고하지만 몇 가지 어려움이 있습니다. 나는 속성 값과 약간의 검색 조건과 모든 차일을 찾을 싶습니다LINQ 여러 수준의 특성 검색
(구조화 된 데이터)는 다음과 같습니다내 XML : 내가 좋아하는 것 LINQ와 함께
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<LanguageMenu>
<Menu language="English" name ="Menu" numOfMenus="1">
<MainItem ID="e_mnuMain1" name="File" level="0"></MainItem>
<MainItem ID="e_mnuMain2" name="Edit" level="0"></MainItem>
<MainItem ID="e_mnuMain3" name="Query" level="0"></MainItem>
<MainItem ID="e_mnuMain4" name="Traffic" numOfSubItem="4" level="0">
<SECOND name="Vendors" value="FIN3010" level="1" father="3"></SECOND>
<SECOND name="Buyers" value="FIN3020" level="1" father="3" ></SECOND>
<SECOND name="General ledger" value="FIN3030" level="1" father="3"></SECOND>
<SECOND name="Accounts" value="FIN3040" level="1" father="3">
<THIRD name="Home Accounts" value="FIN3010" level="2" father="5" grantfather="3"/>
<THIRD name="Foreign accounts" value="FIN3050" level="2" father="5" grantfather="3"/>
</SECOND>
</MainItem>
</Menu>
</LanguageMenu>
이 요소로 시작하는 모든 어린이를 찾기 위해 달성하기 위해 값이 FIN3010 인 MainItem. 내 XML을 기준으로 공급 업체 및 홈 계정을 반환해야합니다.
XElement xelement = XElement.Load("../../xmlFile");
var x = from a in xelement.Descendants("SECONDS")
where a.Attribute("value") != null
&& (string)a.Attribute("value").Value.ToUpper() == txtSifra.Text.ToUpper()
select a;
foreach (XElement xEle in x)
{
//TODO
}
예, 작동 중입니다. 어떻게하면 모든 어린이의 부모님을 얻을 수 있는지 말해주십시오. – Igor
방금 추가했습니다. – JLRishe
아니요 - 내가 원하는 것이 아닙니다. 이 코드 조각은 발견 된 항목의 TAG를 반환하고이 항목이있는 전체 'MainItem'태그를 반환합니다. 나는 자녀와 부모의 '교통 - 판매 인'- 이름 속성을 내게주고 싶다. – Igor