如何使用VB.net计算XML中具有相同属性值的节点总数

灯芯

我从下面的xml代码中,我想找到具有相同属性值的节点总数。代码:

<?xml version="1.0" encoding="UTF-8"?>
<gfx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Gfx-SE8.xsd">
    <displaySettings displayType="replace" position="useCurrentPosition" securityCode="*" backColor="white" titleBar="true" titleBarText="" maximumTagUpdateRate="1" focusHighlightColor="lime" disableFocusHighlight="false" size="useCurrentSize" width="960" height="540" allowMultipleRunningCopies="false" cacheAfterDisplaying="false" systemMenu="true" minimizeButton="true" sizeToMainWindow="false" showLastAcquiredValue="true" TrackScreenForNavigation="true" TrackName="" allowResizing="false" whenResized="scale" beepOnPress="false" highlightWhenCursorPassesOver="true" interactiveHighlightColor="black" displayOnScreenKeyboard="false" allowButtonActionOnError="true" fieldNotSelectedTextColor="black" fieldNotSelectedFillColor="white" fieldSelectedTextColor="black" fieldSelectedFillColor="white" fieldInErrorNotSelectedTextColor="black" fieldInErrorNotSelectedFillColor="red" fieldInErrorSelectedTextColor="white" fieldInErrorSelectedFillColor="red" startupCommand="" shutdownCommand="" useGradientStyle="false" endColor="teal" gradientStop="50" gradientDirection="gradientDirectionHorizontal" gradientShadingStyle="gradientHorizontalFromRight"/>
    <button name="Button1" height="112" width="293" left="160" top="80" visible="true" wallpaper="false" toolTipText="" exposeToVba="vbaControl" isReferenceObject="false" style="3d" captureCursor="false" highlightOnFocus="true" tabIndex="1">
     <confirm confirmAction="false" buttonSetting="okCancel" titleBar="true" titleBarText="Confirmation" windowPosition="Centered of screen">
            <caption fontFamily="Arial" fontSize="10" bold="false" italic="false" underline="false" strikethrough="false" caption="Are you sure you want to perform this action?"/>
            <imageSettings imageReference="noImage"/>
     </confirm>
    </button>
    <numericDisplay name="NumericDisplay1" height="20" width="264" left="524" top="111" visible="true" wallpaper="false" toolTipText="" exposeToVba="vbaControl" isReferenceObject="false" backColor="white" backStyle="transparent" foreColor="black" fontFamily="Arial" fontSize="10" bold="false" italic="false" underline="false" strikethrough="false" justification="right" fieldLength="22" showDigitGrouping="false" decimalPlaces="0" format="decimal" overflow="showExponent" leadingCharacter="blanks">
        <connections>
            <connection name="Value" expression="5"/>
        </connections>
    </numericDisplay>
    <stringDisplay name="StringDisplay1" height="20" width="276" left="552" top="168" visible="true" wallpaper="false" toolTipText="" exposeToVba="vbaControl" isReferenceObject="false" backColor="white" backStyle="transparent" foreColor="black" fontFamily="Arial" fontSize="10" bold="false" italic="false" underline="false" strikethrough="false" justification="left" dimensionsHeight="1" dimensionsWidth="23" characterOffset="0">
        <connections>
            <connection name="Value" expression="s"/>
        </connections>
    </stringDisplay>
 </gfx>

从上面的代码中,我想找到具有属性值的节点数exposeToVba="vbaControl"我只想要节点总数。

我正在使用以下代码进行其他操作,我只想在上面添加一个。

            `Dim xmldoc As New XmlDataDocument()
            'Dim xmldoc As New XDocument
            Dim iList As XmlNodeList
            Dim iNode As XmlNode
            Dim iAtt As XmlAttributeCollection
            Dim nAtri As XmlAttribute
            Dim fs As New FileStream(file, FileMode.Open, FileAccess.Read)

            xmldoc.Load(fs)
        '************Loop for FTView SE and ME***************************'
        If RBSe.Checked = True Or RBMe.Checked = True Then
            Dim attrName As String = "exposeToVba"
            Dim attrValue As String = "vbaControl"

            iList = xmldoc.GetElementsByTagName("displaySettings")
            worksheet.Cells(row, col).value = xmldoc.LastChild.ChildNodes.Count - 2 '***For total objects count***
            Dim Globalobjectscount = xmldoc.GetElementsByTagName("parameters")  '***For Global object count***
            worksheet.Cells(row, col + 1).value = Globalobjectscount.Count
            worksheet.Cells(row, col + 2).value = xmldoc.GetElementsByTagName("animations").Count
            worksheet.Cells(row, col + 3).value = xmldoc.GetElementsByTagName("numericDisplay").Count
            worksheet.Cells(row, col + 4).value = xmldoc.GetElementsByTagName("numericInput").Count
            worksheet.Cells(row, col + 5).value = xmldoc.GetElementsByTagName("Button").Count

            For Each iNode In iList
                iAtt = iNode.Attributes

`

麦琪(Maciej Los)

使用XDocument类的Linq To Xml解决方案:

 Dim xcon As String = "the content of your xml file"

 'use XDocument.Load(xmlFileName) to load Xml fIle
 Dim xdoc As XDocument = XDocument.Parse(xcon) 

 Dim attrName As String = "exposeToVba"
 Dim attrValue As String = "vbaControl"

 Dim myCount As Integer = xdoc.Descendants() _
        .Where(Function(x) x.Attribute(attrName) = attrValue).Count()
 'returns 3

尝试!

有关更多信息,请参见:
Linq To Xml
XDocument类

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用一个Cypher查询在具有相同属性值的节点之间创建关系

来自分类Dev

如何避免在neo4j中多次访问具有相同属性的节点?

来自分类Dev

如何删除所有具有相同属性值但NSMutableArray中的对象的对象

来自分类Dev

如何排列具有相同属性值的对象数组?

来自分类Dev

Java-如何从集合中删除具有相同属性值的元素?

来自分类Dev

如何从具有相同属性值的列表中删除项目,其中计数大于 2

来自分类Dev

如何使用XSLT根据输入XML请求的相同属性从XML文件中删除公共节点?

来自分类Dev

如何获取具有相同名称和相同属性名称的节点到集合?

来自分类Dev

如何使用Xquery在序列中获取节点的相同属性值?

来自分类Dev

如何在React JS中获取具有相同属性名称的数组中输入标签的值

来自分类Dev

如何使用元素的属性值以jQuery中具有相同属性值的另一个元素为目标?

来自分类Dev

如何列出Neo4j中具有共同属性的所有节点

来自分类Dev

使用VB.NET解析具有相同名称的节点的XML文件

来自分类Dev

如何合并具有相同属性的RDF主题,对其值求和?

来自分类Dev

使用 xslt-1.0 对具有相同属性的值进行分组

来自分类Dev

如何使用VB.NET从XML获取属性值?

来自分类Dev

如何使用for循环在xslt中处理具有相同名称但属性值不同的xml标记

来自分类Dev

如何防止在Mongodb中推送具有相同属性的文档

来自分类Dev

如何在pygame中创建具有相同属性的许多实例

来自分类Dev

如何将数据推送到更多具有相同属性的对象中

来自分类Dev

如何创建具有相同属性\方法的组件

来自分类Dev

如何添加具有相同属性的多个UIImageViews

来自分类Dev

如何选择具有相同属性的后续行

来自分类Dev

如何避免创建具有相同属性的对象

来自分类Dev

如何在plsql中将具有相同属性属性的对象类型属性值分配给不同的对象类型?

来自分类Dev

如何使用sql server在XML文档中获取包含具有给定属性值的子节点的节点?

来自分类Dev

如何在硒中的不同标签中定位具有相同名称和相同属性的元素

来自分类Dev

如何在python中搜索具有给定属性值的Xml节点

来自分类Dev

如何仅从VBA EXCEL(VBA DOM)XML中具有特定属性的节点检索值。

Related 相关文章

  1. 1

    使用一个Cypher查询在具有相同属性值的节点之间创建关系

  2. 2

    如何避免在neo4j中多次访问具有相同属性的节点?

  3. 3

    如何删除所有具有相同属性值但NSMutableArray中的对象的对象

  4. 4

    如何排列具有相同属性值的对象数组?

  5. 5

    Java-如何从集合中删除具有相同属性值的元素?

  6. 6

    如何从具有相同属性值的列表中删除项目,其中计数大于 2

  7. 7

    如何使用XSLT根据输入XML请求的相同属性从XML文件中删除公共节点?

  8. 8

    如何获取具有相同名称和相同属性名称的节点到集合?

  9. 9

    如何使用Xquery在序列中获取节点的相同属性值?

  10. 10

    如何在React JS中获取具有相同属性名称的数组中输入标签的值

  11. 11

    如何使用元素的属性值以jQuery中具有相同属性值的另一个元素为目标?

  12. 12

    如何列出Neo4j中具有共同属性的所有节点

  13. 13

    使用VB.NET解析具有相同名称的节点的XML文件

  14. 14

    如何合并具有相同属性的RDF主题,对其值求和?

  15. 15

    使用 xslt-1.0 对具有相同属性的值进行分组

  16. 16

    如何使用VB.NET从XML获取属性值?

  17. 17

    如何使用for循环在xslt中处理具有相同名称但属性值不同的xml标记

  18. 18

    如何防止在Mongodb中推送具有相同属性的文档

  19. 19

    如何在pygame中创建具有相同属性的许多实例

  20. 20

    如何将数据推送到更多具有相同属性的对象中

  21. 21

    如何创建具有相同属性\方法的组件

  22. 22

    如何添加具有相同属性的多个UIImageViews

  23. 23

    如何选择具有相同属性的后续行

  24. 24

    如何避免创建具有相同属性的对象

  25. 25

    如何在plsql中将具有相同属性属性的对象类型属性值分配给不同的对象类型?

  26. 26

    如何使用sql server在XML文档中获取包含具有给定属性值的子节点的节点?

  27. 27

    如何在硒中的不同标签中定位具有相同名称和相同属性的元素

  28. 28

    如何在python中搜索具有给定属性值的Xml节点

  29. 29

    如何仅从VBA EXCEL(VBA DOM)XML中具有特定属性的节点检索值。

热门标签

归档