gpt4 book ai didi

xml - 使用带有命名空间的正确路径来解析 XML(在 VBA 中)

转载 作者:行者123 更新时间:2023-12-04 16:57:30 24 4
gpt4 key购买 nike

我正在努力解决使用 VBA 解析 XML 的命名空间和路径。这里我有一些非常简单的 XML ...

<?xml version="1.0"?>
<GetOrdersResponse
xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2016-09-26T08:49:18.274Z</Timestamp>
Ack
<Version>983</Version>
<Build>E983_INTL_APIXO_18098703_R1</Build>
<OrderArray>
<Order>
<OrderID>252363798635-1903344147015</OrderID>
<OrderStatus>Completed</OrderStatus>
</Order>
<Order>
<OrderID>261505550993-1887803672016</OrderID>
<OrderStatus>Completed</OrderStatus>
</Order>
</OrderArray>
</GetOrdersResponse>

我已经像这样在 VBA 中设置了命名空间(这是从另一个 stackoverflow 问题中找到的!)...
Dim xmlNamespaces As String
xmlNamespaces = "xmlns:doc='urn:ebay:apis:eBLBaseComponents'"
objxmldoc.SetProperty "SelectionNamespaces", xmlNamespaces
objxmldoc.SetProperty "SelectionLanguage", "XPath"

我的问题是如何引用我需要的实际 XML 数据字段?

这是我通常使用的命令...
Set Ordercount = objxmldoc.selectNodes("//OrderID")
Debug.Print "Total Number of Orders : " & Ordercount.length

但它返回的计数为 0,所以很明显我的引用路径是错误的 - 这是我不确定的语法(“//OrderID”)。那么在上面粘贴的 XML 中为 & 提取数据的语法应该是什么? (即记住我的代码的命名空间声明)

非常感谢。

最佳答案

你离得够近了!如果您想获取元素数量:OrderID,您可以简单地使用 Count 属性。像这样:

Ordercount = objxmldoc.selectNodes("//OrderID").Count
Debug.Print "Total Number of Orders : " & Ordercount

关于xml - 使用带有命名空间的正确路径来解析 XML(在 VBA 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39698700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com