次のダミーXMLファイルでは、stepContentノードで検索文字列を見つけてElementIDとstepIDを返す必要があります。私はLinqをC#で使用していますが、検索文字列を見つけてノード全体を返すことができますが、検索されたノードのstepIDとElementIDを返す方法を見つけることができません。これはダミーのXMLであり、これらのIDノードの深さは異なる可能性があるので、返された値の名前を照会するために何かが必要です。IDと戻り値にLinqを使用してXMLファイルを検索
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Elements>
<Element>
<ElementID>A001</ElementID>
<Detail><![CDATA[<ul>
<li>
For top candidates
</li>
<li>
Discount upto 50%
</li>
</ul>]]></Detail>
<Steps>
<Step>
<stepID>S001</stepID>
<StepHeading>Prepare for top candidates</StepHeading>
<stepContent><![CDATA[<ul>
<li>Some dummy text</li>
<li>Plan some dummy items.</li>
</ul>]]></stepContent>
</Step>
<Step>
<stepID>S002</stepID>
<StepHeading>Invite top candidates</StepHeading>
<stepContent><![CDATA[<ul>
<li>Dummy text for invitation.</li>
<li>Dummy text for 2nd invitation.</li>
</ul>]]></stepContent>
</Step>
</Steps>
</Element>
<Element>
<ElementID>A002</ElementID>
<Detail><![CDATA[<ul>
<li>
For next set of top candidates
</li>
<li>
Discount upto 30%
</li>
</ul>]]></Detail>
<Steps>
<Step>
<stepID>S003</stepID>
<StepHeading>Prepare for next set of top candidates</StepHeading>
<stepContent><![CDATA[<ul>
<li>Some dummy text</li>
<li>Plan some dummy items.</li>
</ul>]]></stepContent>
</Step>
<Step>
<stepID>S004</stepID>
<StepHeading>Invite next set of top candidates</StepHeading>
<stepContent><![CDATA[<ul>
<li>Dummy text for invitation.</li>
<li>Dummy text for 2nd invitation.</li>
</ul>]]></stepContent>
</Step>
</Steps>
</Element>
</Elements>
</Root>
文字列xmlPath = Server.MapPathの( "myXMLPath.xml"); var xml = XDocument.Load(@xmlPath); XDocument xDocument = XDocument.Parse(xml.ToString()); var resultNodes = xDocument.Descendants( "stepContent")。ここで(i => i.Value.ToLower()。Contains(searchString)); 結果セットからIDを取得するにはどうすればよいですか? – onlynitins
質問を編集してそこにC#コードを置く(あなたのXMLとは別のコードブロック) – har07