이것은 내 코드 조각입니다.이 부분은 XML 파일을 읽고 작업의 마지막 하위 특성을 가져 오는 것입니다. 이 경우에는 C 타입을 얻고 싶습니다. 스크립트는 전체 For
루프를 건너 뛰었습니다. 검색을 몇 번 했는데도 코드에 어떤 문제가 있는지 찾을 수 없었습니다.VBScript에서 XML 노드를 반복 할 수 없습니다.
Set FSO = CreateObject("Scripting.FileSystemObject")
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = "False"
counter = 0
xmlDoc.Load(mostrecent(i).Name)
Set colNodes = xmlDoc.SelectNodes("/Runs/Run/Operations")
WScript.Echo counter '<--appears
For Each objNode In colNodes
WScript.Echo counter '<--didn't appear
If Attr.Exists(objNode.LastChild.GetAttribute("type")) Then
counter = counter + 1
WScript.Echo counter
End If
Next
XML : 나를 위해 잘 작동 :
<Runs>
<Run>
<Operations>
<Operation type="A"></Operation>
<Operation type="B"></Operation>
<Operation type="C"></Operation>
</Operations>
</Run>
</Runs>
의 Attr는 Dictionary 객체 인 아래의 코드를 사용할 수 있습니다 + 1. – Zephyros
루프에서 출력이 전혀 표시되지 않으면 'SelectNodes'가 노드를 반환하지 않는다는 의미입니다. 이것은 대개 XML 데이터에 네임 스페이스가있을 때 발생합니다. 실제 XML에'xmlns = ...'속성 및/또는'' 노드가 있습니까? –
아니요, 내 XML은 –
Zephyros