2012-05-06 6 views
1

linq2sqlを使用して、ネストされた要素を除く任意の一致するコンテンツを含むノードを取得する方法を教えてください。XElement内のコンテンツを取得する方法

つまり

、私は私がトリミングされ、その内容という事実に基づいて、第1 < p>要素が正確であることを取得したい「コンテンツ」

<div> 
    <div> 
    <p> 
     The Content 
    </p> 
    <p> 
     Some other content 
    </p> 
    </div> 
</div> 

を含むXElementオブジェクトを持って

答えて

0

この非常に大きなXMLファイルの場合は遅くなる可能性があるため、有用性はタスクによって異なります。

namespace ConsoleApplication9 
{ 
    using System.Xml.Linq; 
    using System.Linq; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      XElement xx = XElement.Parse(@"<div> 
    <div> 
    <p> 
     The Content 
    </p> 
    <p> 
     Some other content 
    </p> 
    </div> 
</div>"); 
      XNode node = xx 
       .DescendantNodesAndSelf() 
       .FirstOrDefault(x => x.ToString().Trim() == "The Content"); 

      if (node != null) 
      { 
       XElement el = node.Parent; 
      } 
     } 
    } 
} 
+0

ええ、私は同じようなハックアラウンドが起こっています(まず、どのエレメントでもフィルタリングします)が、これを行う正しい方法は何か分かります。 –