2017-03-25 5 views
0

私は正規表現を初めて使用しています.netアプリケーション用に2つの正規表現を作成したいと思います。Regex - 選択しますが、

私はxmlを格納する入力変数を持っています。ヘッダー=「true」を

正規表現を持っていない行を選択し、ヘッダー=「true」を 2.正規表現を使用した行を選択 1.正規表現:以下は、私は2つの正規表現をしたいXML

<Row> 
...... 
</Row> 
<Row {optional}> 
.... 
</Row> 
<Row {optional} header="true" {optional}> 
</Row> 

です開始タグを考慮する必要があります。例えば:

答えて

0

正規表現はyour'reは、.NET 3.5以降を使用している場合、.NET でXMLを処理するための最良の選択肢ではありません、ランタイムの古いバージョンのためにLINQ to xml をチェックアウトし、あなたのLINQを使用してXmlDocument and XPath

を見ますコードは次のようになります。このコード

var document = XDocument.Load("path to your file"); // or XDocument.Parse if you have content in a string 
    var elementsWithHeaders = document.Descendants("Row").Where(x => 
     x.Attribute("header")!=null && x.Attribute("header").Value == "true"); 

しかし、私はあなたのxml

0の構造についての詳細な仮定を知っておく必要があるだろう、それがより効率的にするために、最適ではありません

あなたがC#6を使用している場合も

var elementsWithHeaders = document.Descendants("Row").Where(x => 
     x.Attribute("header")?.Value == "true"); 
上の述語を簡素化するために null-conditional operatorを使用することができます
関連する問題