2011-11-10 6 views
0

私はXMLにファイルを書き込むためにLinqを使用しています。書き込む値を含むXMLのセクションのみを必要とします(空タグはありません)。ここで私がこれまで持っているものです:Linqを使ってXMLを書く際に、特定のタグを隠すには?

frm.Col1は私が書かれてからのCol1タグを非表示にすることができますどのように保存され、値を持っていないのであれば、たとえば
Public Class frm 
     Public Type As String 
     Public RowNumber As Integer 
     Public Col1 As String 
     Public Col2 As String 
    End Class 

    Dim bVisCustom2x7 As Boolean 

    Dim visform = <VisitorForm> 
         <Tabs> 
          <Tab> 
            <Type>Custom2x7</Type> 
            <Order></Order> 
            <Visibility><%= bVisCustom2x7.ToString %></Visibility> 
            <%= From frm In frm_list Where frm.Type = "Custom2x7" _ 
             Select _ 
             <Row> 
              <RowNumber><%= frm.RowNumber %></RowNumber> 
              <Col1><%= frm.Col1 %></Col1> 
              <Col2><%= frm.Col2 %></Col2> 
             </Row> 
            %> 
          </Tab> 
         <Tabs> 
        <VisitorForm> 

ありがとうございます! mgの

答えて

0

は、それは最もエレガントではないのですが、このようなものは動作します:

<Row> 
    <RowNumber><%= frm.RowNumber %></RowNumber> 
    <%= If(Not String.IsNullOrEmpty(frm.Col1), <Col1><%= frm.Col1 %></Col1>, Nothing) %> 
    <Col2><%= frm.Col2 %></Col2> 
</Row> 

あなたはいつものXElementまたは何もないのいずれかを返します<% = =>式ナゲットを置くことができるということでアイデア、ノードが返された場合にのみ挿入されます。

+0

はい、正しいです。私もこのリンクが役に立つと知った:http://stackoverflow.com/questions/5141565/vb-net-linq-to-xml-is-this-the-correct-way-to-use-logic-while-creating-xml – zzMzz

+0

ありがとう、ジェイソン!私はあなたの答えを受け入れた。 – zzMzz

関連する問題