我有一個xml文件,我想用VBScript(技術限制)讀取。以下是代碼和xml文件。如果沒有涉及DTD元素,但能夠讀取文件,但代碼不適用於具有DTD和xml樣式元素的文件。使用VB腳本讀取xml節點
代碼 -
Dim xmlDoc1:Set xmlDoc1 = CreateObject("MSXML2.DomDocument")
xmlDoc1.async=False
xmlDoc1.load "C:\ABC.xml"
Dim xmlTCID:Set xmlTCID = xmlDoc1.selectNodes("//*")
For nNodeCount = 0 To xmlTCID.length
MsgBox(xmlTCID(nNodeCount).nodeName)
Next
ABC.xml -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE RESULT SYSTEM "Result.dtd"[]>
<?xml-stylesheet type="text/xsl" href="Result.xsl"?>
<SUMMARY>
<TITLE>Test</TITLE>
</SUMMARY>
<IDS>
<DATA>
<NAME>A</NAME>
<VALUE>PASS</VALUE>
</DATA>
<DATA>
<NAME>B</NAME>
<VALUE>PASS</VALUE>
</DATA
<DATA>
<NAME>C</NAME>
<VALUE>FAIL</VALUE>
</DATA
</IDS>
<IDS>
<DATA>
<NAME>A</NAME>
<VALUE>PASS</VALUE>
</DATA>
<DATA>
<NAME>B</NAME>
<VALUE>FAIL</VALUE>
</DATA
</IDS>
注意 - 如果我避免 -
<!DOCTYPE RESULT SYSTEM "Result.dtd"[]>
<?xml-stylesheet type="text/xsl" href="Result.xsl"?>
上面的代碼能夠讀取的節點,但與上述在xml文件中有兩行,它給出了以下錯誤 -
要求 - 我需要爲每個IDS節點讀取帶有FAIL的最後DATA節點的名稱。
任何建議如怎樣做才能讓代碼甚至工作 -
<!DOCTYPE RESULT SYSTEM "Result.dtd"[]>
<?xml-stylesheet type="text/xsl" href="Result.xsl"?>
謝謝你試圖幫助Ekkehard。我試過這個,但沒有工作。 – anujin 2013-02-14 13:43:22