처럼 내 .XML 데이터베이스 같습니다가져올 수 없습니다 요소
<root>
<Lemma>
<Lemma.LemmaSign>cat</Lemma.LemmaSign>
<Lemma.PartOfSpeech>(noun)</Lemma.PartOfSpeech>
<Lemma.UsageLabel>(kt)</Lemma.UsageLabel>
<Sense>
<TE>
<TE.TE> animal</TE.TE>
</TE>
<Pronunciation>/
<Pronunciation.Pronunciation>[coot]</Pronunciation.Pronunciation>/
</Pronunciation>
:
<Example>
<Example.Example> it's a cat</Example.Example>
<Example.Translation> it's animal</Example.Translation>
|
</Example>
</Sense>
</Lemma>
</root>
하고 내 코드입니다 : 출력이 보이는 것입니다
var elements = XElement.Load("objects.xml");
var query1 = from query in elements.Descendants("Lemma")
let null_LemmaSign = query.Element("Lemma.LemmaSign")
let null_TE = query.Element("TE.TE")
where wyszuk == query.Element("Lemma.LemmaSign").Value
select new
{
word = null_LemmaSign == null ? "none" : null_LemmaSign.Value,
te = null_TE == null ? "none" : null_TE.Value,
};
foreach (var e in query1)
{
MessageBox.Show(e.word.ToString() + " - " + e.te.ToString());
}
그리고 문제와 같은 : 고양이 - 없음 과해야 be 고양이 - 동물
내 .xml에서 TE.TE를 얻는 방법은 무엇입니까?
@jimmy_keen : 좋은 제안. OP가'null_TE == null'을 검사하기 때문에'First' 대신에'FirstOrDefault'를 사용할 것입니다. 왜냐하면 그들은 OP 요소가 발견되지 않는 경우를 기대합니다. – Douglas
@Douglas : 네, 아마도 여기에있는 것이 최선일 것입니다. 이미 답변에 모두 포함되어 있기 때문에 주석을 삭제했습니다. –
@Douglas는 다시 질문을했습니다 - 더 많은 요소를 얻는 방법 : 고양이 , CAT2 , CAT3 - 지금은 단지 첫번째 요소를 얻을 수 있습니다. –
user1224476