Xml XPATH:如何获取第一个元素组的.length和第一个组中第二个元素组的.length?
我正在处理结构如下所示的xml文件Xml XPATH:如何获取第一个元素组的.length和第一个组中第二个元素组的.length?,xml,xpath,xml-parsing,traversal,Xml,Xpath,Xml Parsing,Traversal,我正在处理结构如下所示的xml文件 和需要单独处理 在这两种情况下,我都希望使用XPATH遍历每个中的元素 因此,对于每个,我需要获得中的编号,然后获得当前中的编号 在伪代码中,处理将是: For i = 1 to number of <OperationStageCode> in current <OperationStage> of current <GroupType1> For j = 1 to number of <Op
和
需要单独处理
在这两种情况下,我都希望使用XPATH遍历每个
中的
元素
因此,对于每个
,我需要获得
中
的编号,然后获得当前
中
的编号
在伪代码中,处理将是:
For i = 1 to number of <OperationStageCode> in current <OperationStage> of current <GroupType1>
For j = 1 to number of <OperationEvent> in ith <OperationStage> in the current <GroupType1>
process jth <OperationEvent> of ith <OperationStage>
Next J
Next i
当然,这只是得到整个
中
的总数。我尝试过的其他表达式(下面)都返回零。正如您所看到的,我只是在这里挥舞——暴露了我对XPATH遍历语法的不熟悉
i = xDOC.selectNodes("/OperationStage").length
i = xDOC.selectNodes("OperationStageCollection//catmk:ProceedingStage").length
i = xDOC.selectNodes("OperationStageCollection/catmk:ProceedingStage").length
i = xDOC.selectNodes("/OperationStageCollection/catmk:ProceedingStage").length
获取单个
的
中的
编号,然后获取当前
的
中的
编号的正确语法是什么
我看了很多XPATH文档,但没有找到任何关于我的情况的有用示例。如果你知道的话,也请告诉我这些文件
以下是xml结构:
1.
3.
2018-12-16
5.
2018-05-16
... 更多操作事件。。。
... 更多操作阶段。。。
…更多组类型1。。。
3.
101
6.
2012-01-03
... 更多操作事件。。。
... 更多操作阶段。。。
…更多组类型2。。。
我相信严格地说,是xpath表达式
//GroupType1/OperationStageCollection/count(OperationStage)
应获取单个
的
中的
数量,以及
//GroupType1/OperationStageCollection/OperationStage//OperationEventCollection/count(OperationEvent)
我相信,严格按照xpath表达式,应该可以得到当前
的
中
的数量
//GroupType1/OperationStageCollection/count(OperationStage)
应获取单个
的
中的
数量,以及
//GroupType1/OperationStageCollection/OperationStage//OperationEventCollection/count(OperationEvent)
杰克:谢谢你,我应该告诉你当前
的
中的
的编号。第一部分有效,但第二部分给出了整个
中
的数量;不仅仅是当前
的
中的
数量。我会继续摆弄它,看看我是否能让它工作,但如果你能在这期间提出一个调整建议,我将不胜感激。我仍然没有完全掌握语法。我认为“//”捕获了整个XML文档中的每一个指定元素,但我认为这是错误的,因为您在元素字符串的中间使用“//”。我在不同的在线xpath测试仪中再次尝试了它,输出总是当前
中的数字。Jack:一个小麻烦是我必须用VB6编写实现,它似乎不支持count()方法。因此,我将.length替换为:xDOC.selectNode(//GroupType1/OperationStageCollection/OperationStage//OperationEventCollection/OperationEvent”)。length@BRW-只要你到了你想去的地方,一切都很好!杰克:谢谢。第一部分有效,但第二部分给出了整个
中
的数量;不仅仅是当前
的
中的
数量。我会继续摆弄它,看看我是否能让它工作,但如果你能在这期间提出一个调整建议,我将不胜感激。我仍然没有完全掌握语法。我认为“//”捕获了整个XML文档中的每一个指定元素,但我认为这是错误的,因为您在元素字符串的中间使用“//”。我在不同的在线xpath测试仪中再次尝试了它,输出总是当前
中的数字。Jack:一个小麻烦是我必须用VB6编写实现,它似乎不支持count()方法。因此,我将.length替换为:xDOC.selectNode(//GroupType1/OperationStageCollection/OperationStage//OperationEventCollection/OperationEvent”)。length@BRW-只要你到了你想去的地方,一切都很好!