加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 条件XML文字

发布时间:2020-12-17 00:06:11 所属栏目:大数据 来源:网络整理
导读:我试过这个搜索但似乎无法在任何地方找到答案,所以希望有人在这里可以提供帮助.我想根据计数是否高于1来插入条件 XML标记,但我不知道该怎么做. 例如,我有两个像这样的XElements: BlobGroupStuff 1/Group/Blob 和 BlobGroupStuff 1/GroupGroupStuff 2/Group/
我试过这个搜索但似乎无法在任何地方找到答案,所以希望有人在这里可以提供帮助.我想根据计数是否高于1来插入条件 XML标记,但我不知道该怎么做.

例如,我有两个像这样的XElements:

<Blob>
<Group>
Stuff 1
</Group>
</Blob>

<Blob>
<Group>
Stuff 1
</Group>
<Group>
Stuff 2
</Group>
</Blob>

我希望这最终成为第一个:

<BigGroup>
<Group/>
</BigGroup>

而对于第二个:

<BigGroup>
<Groups>
<Group/>
<Group/>
</Groups>
</BigGroup>

请注意,在第二个中,它们是围绕两个组的标记.

所以,我想在XML Literal中使用这个条件.我试过的是:

Dim groups = If(<Blob>.<Group>.Count > 1,<Groups/>,Nothing)

Dim bigGroup = <BigGroup><%= groups %><%= from e in <Blob>.<Group> select e %><%= groups%></BigGroup>

但这不起作用.有没有人有办法在XML Literal中按上述方法执行此操作?

您可以将If语句放在XML Literal中.此外,通过简单地引用<%=%>内的变量,输出IEnumerable(Of XElement)足够聪明.

这是代码.

Sub Main()
    Dim SingleGroup = <Blob>
                          <Group>Stuff 1</Group>
                      </Blob>

    Dim TwoGroups = <Blob>
                        <Group>Stuff 1</Group>
                        <Group>Stuff 2</Group>
                    </Blob>

    Dim BigGroup1 = BigGroup(SingleGroup.<Group>)

    Dim BigGroup2 = BigGroup(TwoGroups.<Group>)

    Console.WriteLine(BigGroup1)
    Console.WriteLine()

    Console.WriteLine(BigGroup2)
    Console.ReadLine()

End Sub

Function BigGroup(ByVal groups As IEnumerable(Of XElement)) As XElement
    Dim result = <BigGroup>
                     <%= If(groups.Count > 1,_
                         <Groups><%= groups %></Groups>,_
                         groups.SingleOrDefault) %>
                 </BigGroup>
    Return result
End Function

输出是:

<BigGroup>
  <Group>Stuff 1</Group>
<BigGroup>

<BigGroup>
  <Groups>
    <Group>Stuff 1</Group>
    <Group>Stuff 2</Group>
  </Groups>
</BigGroup>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读