0
대단한 좌절감으로 XML 문서에 대한 쿼리를 작성하는 데 하루 반이 걸렸습니다. 시작하기 전에 내가 아는 것보다 더 많은 것을 모릅니다. 그래서 나는 쉬운 길을 택하고 도움을 다시 요청할 것입니다.XML 쿼리 - 값 검색
XML 코드는 다음과 같이이다 : 쿼리 예를 들어 값이 "AlphaId2_DeltaTypeA"를 검색하는 내가 찾고
<?xml version="1.0" ?>
<Main>
<alpha Id = "AlphaId_1">
<beta>AlphaId1_Beta</beta>
<gamma>AlphaId1_Gama</gamma>
<delta Type = "A">AlphaId1_DeltaTypeA</delta>
<delta Type = "B">AlphaId1_DeltaTypeB</delta>
<kapa Id="01">
<description>AlphaId1_KapaId1_Descr</description>
<name>AlphaId1KapaId1_Name</name>
<teta>AlphaId1KapaId1_Teta</teta>
</kapa>
<kapa Id="02">
<description>AlphaId1KapaId2_Descr</description>
<name>AlphaId1KapaId2_Name</name>
<teta>AlhaId1KapaId2_Teta</teta>
</kapa>
</alpha>
<alpha Id = "AlphaId_2">
<beta>AlphaId2_Beta</beta>
<gamma>AlphaId2_Gama</gamma>
<delta Type = "A">AlphaId2_DeltaTypeA</delta>
<delta Type = "B">AlphaId2_DeltaTypeB</delta>
<kapa Id="01">
<description>AlphaId2_KapaId1_Descr</description>
<name>AlphaId2KapaId2_Name</name>
<teta>AlphaId2KapaId2_Teta</teta>
</kapa>
<kapa Id="02">
<description>AlphaId1KapaId2_Descr</description>
<name>AlphaId2KapaId2_Name</name>
<teta>AlhaId2KapaId2_Teta</teta>
</kapa>
</alpha>
</Main>
. 두 번째 쿼리는 선택한 AlphaId의 모든 KapaId에서 모든 설명 값을 검색해야합니다. 내가 가지고 올 수
유일한 코드는
XDocument xdoc = XDocument.Load(@"doc.xml");
IEnumerable<XElement> list1 = xdoc.Root.Descendants("delta");
var cifmi =
from el in list1
where (string)el.Attribute("Type") == "A"
select el;
foreach (XElement el in cifmi)
{
textBox1.AppendText(el.Value + System.Environment.NewLine);
}
입니다 코드는 하나가 아닌 두 개의 값을 찾습니다.
안녕하세요 Marcin. 알파 Id == "AlphaId_1"및 델타 Type = "A"조건을 만족하는 값을 찾을 수 있도록 쿼리를 작성하십시오. 대답은 AlphaId1_DeltaTypeA입니까? –
첫 번째 샘플의'description'은'List'이므로 이미 값을 포함하고 있습니다. –
MarcinJuraszek
Marcin 대단히 감사합니다. 답변을 확인하는 데 오랜 시간이 걸려서 죄송합니다. 코드 작업이 조금 느립니다. 모두 완벽합니다. –