【问题标题】:Calculate average from XML elements计算 XML 元素的平均值
【发布时间】:2018-02-18 03:53:00
【问题描述】:

我有一个围绕结构的 xml 文件

<user>
    <name>Fred</name>

    <test1>23</test1>
    <test2>34</test2>
    <test3>43</test3>
</user>

大约有 20 条记录具有相同的数据。 我正在尝试使用 vb.net 2015 社区版对所有用户的测试进行平均,例如将每个用户的测试 1 到 3 相加并除以用户数。

有没有人可以帮助我编写按钮事件的代码以写入类平均值的标签?

【问题讨论】:

标签: xml vb.net visual-studio-2015


【解决方案1】:

这个应该适合你:

   'Dim xDoc = XDocument.Load("Your Document path")'

    Dim xDoc =
        <Document>
            <user>
                <name>Fred</name>
                <test1>23</test1>
                <test2>34</test2>
                <test3>43</test3>
            </user>
            <user>
                <name>Greg</name>
                <test1>50</test1>
                <test2>50</test2>
                <test3>50</test3>
            </user>
        </Document>


    Dim result = (From node In xDoc.Descendants("user")
                  Select (Convert.ToInt32(node.Descendants("test1").Value()) +
                        Convert.ToInt32(node.Descendants("test2").Value()) +
                        Convert.ToInt32(node.Descendants("test3").Value()))).Average()

【讨论】:

  • ((23+34+43) + (50+50+50)) / 2 = 125。代码给了我正确的结果。
  • 嗨 - 如果你对每个用户进行平均,然后找到他们的平均值,这就是我所追求的,它应该直接从 xml 文件中读取
  • 然后取消注释从文件加载数据的行并根据需要更改公式。有什么问题?
  • 抛出异常
  • 问题是我的 xml,它是由 Visual Studio 自动生成的,它与 users.xsd 一致
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
相关资源
最近更新 更多