私はVBAでの単一ノードの属性を取得しようとしていますが、私はそれが大文字と小文字を区別しないVBAのxpathで大文字と小文字を区別しない一致がありますか?
VBAになりたい時にDOMを使用して、それを管理することができません。
Dim oDoc As New MSXML2.DOMDocument30
Dim el As Object
Dim XML As String
XML =("C:\........")
oDoc.validateOnParse = True
oDoc.Load XML
dim Name as String
Name= "yaron"
'select the User node with Name="Yaron"
Set el = oDoc.SelectSingleNode("/GetUserInfo/User[@Name='" & Name & "']")
'Set el = oDoc.SelectSingleNode("/GetUserInfo/User[matches(@Name, 'Name ' ,'i')]")
'Set el = oDoc.SelectSingleNode("/GetUserInfo/User[lower-case(@Name)='" & Name & "']")
If Not el Is Nothing Then
Debug.Print el.getAttribute("LoginName")
Else
Debug.Print "user id not found!"
End If
XML: ****を**エクセル - コメント2つの異なる方法で
<GetUserInfo>
<User ID="16" Name="DAVID" LoginName="login1"/>
<User ID="17" Name="GAL" LoginName="login2"/>
<User ID="18" Name="YARON" LoginName="login3"/>
</GetUserInfo>
2行は、私は 、このサイトではSOWのソリューションの後にしようとしたが、どうやら、これらのソリューションは、** VBAのために動作しません。 10実行時エラー '-2147467259(80004005)が表示されます。 '不明なメソッド
残念ながら私は同じエラーが発生します。多分translate関数はXPath 2.0でもうまく動作しません: – David
Xmlが時々LOWERになることがあり、時には大文字の – David
になる可能性があるので、私は他のオプションを使用できません。これは少なくとも 'Microsoft XML、v4.0' 'Microsoft XML、v6.0' ' Microsoft XML、v3.0'( 'MSXML2.DOMDocument30')は適合しません。 –