2013-10-08 2 views
0

У меня есть XML-файл в следующем формате. Что я здесь делаю, просматриваю файлы в общем узле и просматривая их. Проблема заключается в комментариях внутри общих узлов ошибка, которая говорит, что getAttribute («имя») не поддерживается. Попросите кого-нибудь рассказать мне, как перебирать дочерние узлы и не читать прокомментированные строки.Чтение узлов XML-файлов в VBSCript

Set objNodeList = xmlDoc.getElementsByTagName("Common") 

For each comNodeItem in objNodeList 

    On Error Resume Next 
    for each fileNodeItem in comNodeItem.ChildNodes   

     fileName = fileNodeItem.getAttribute("name") 



    next 

    <Common> 
     <!-- Test Comment --> 
     <file name="Test1.css"/> 
      <file name="Test2.css"/> 
    </Common> 
    <Common> 
     <!-- Test Comment --> 
     <file name="Test3.css"/> 
      <file name="Test4.css"/> 
    </Common> 
+0

Просьба описать проблему, которую вы пытаетесь решить, вместо того, что вы считаете решением. Почему вы считаете, что вам нужно обработать дочерние узлы, сгруппированные по родительскому узлу? –

ответ

0

Возможно, вы захотите попробовать следующий фрагмент кода.

Set xmlDoc = CreateObject("MSXML.DomDocument") 
xmlDoc.LoadXML "<Common><!-- Test Comment --><file name='Test1.css'/><file name='Test2.css'/></Common>" 
For Each xmlFile in xmlDoc.selectNodes("//file") 
    MsgBox xmlFile.getAttribute("name") 
Next 
+0

Это не работает должным образом ... То, что он делает, это игнорировать родительский узел и обрабатывать все дочерние узлы вместе. Вместо обработки test1 и test2.css, а затем test3 и test4.css обрабатывает все 4 вместе. – user505210

+0

Ваш ответ почти сработал, но он должен быть ./file – user505210

+1

Я только что обновил свой ответ с помощью своего полного тестового фрагмента, и он работает. Нет такой вещи, как «обработка всех 4 вместе»: каждый узел обрабатывается индивидуально. Используя XPath, вам не нужно передавать всю структуру вашего документа, но вы можете ускорить процесс, непосредственно просматривая то, что вам нужно. –

Смежные вопросы