Я создаю код Excel VBA для запроса значения, удовлетворяющего двум условиям.
XML данные равны
<?xml version="1.0" encoding="utf-8"?>
<Sales>
<Sale>
<Name>John</Name>
<Area>NY</Area>
<Data Date="20200401">
<Target>110</Target>
<Actual>80</Actual>
</Data>
<Data Date="20200402">
<Target>110</Target>
<Actual>80</Actual>
</Data>
</Sale>
</Sales>
, а код VBA аналогичен приведенному ниже,
Dim doc As Object
Set doc = CreateObject("MSXML2.DOMDocument")
doc.async = False: doc.validateOnParse = False
doc.Load ("C:\vb\sales.xml")
Set Nodes = doc.SelectNodes("//Sales/Sale[Name='John' and /Data/@Date='20200401']/Data")
For Each Node In Nodes
Debug.Print Node.SelectSingleNode("Actual").Text
Next Node
Set doc = Nothing
Указанный ниже код неверен, не могли бы вы порекомендовать его исправить?
doc.SelectNodes("//Sales/Sale[Name='John' and /Data/@Date='20200401']/Data")