我想用vbs讀取xml檔案(實際上是要去讀filezilla server的xml檔)
目前寫的測試程式可以show我所指定要讀取的部份
但改為讀取filezilla server.xml後 發現執行後沒有反應
逐行檢查發現是因為filezilla server.xml裡面有行
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
若把這行拿掉,就可以執行
請問在vbs中該怎麼把xml裡的這行略過不去理它?...(整個xml不止出現過一次)
以下是我的程式碼
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = "False"
xmlDoc.Load("testOK.xml")
Set colNodes=xmlDoc.selectNodes("//user/Option[@Name='Comments']")
For Each objNode in colNodes
Wscript.Echo objNode.Text
Next
xml檔
<FileZillaServer>
<USERS>
<user name="news">
<Option Name="Pass">d04dc20036dbd8313ed055</Option>
<Option Name="Group"></Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments">新聞</Option>
</user>
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<user name="pro">
<Option Name="Pass">b52d04dc20036dbd8313ec</Option>
<Option Name="Group"></Option>
<Option Name="Comments">節目</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
</user>
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
</USERS>
</FileZillaServer>
感謝大家的解答
看起來是因為xml格式不正確。你把:
<pre class="c" name="code"><SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
改成:
<pre class="c" name="code"><SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0" />
試試看。
謝謝,試過後 就是沒有加/的關係!
但我的xml裡有大量的這行
<pre class="c" name="code"><SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
可以讓vbs不讀這行嗎?
或者要怎麼在它的後面加上/
感謝
...不過我看了一下我有在使用的filezilla,他的server.xml裡面,都是像這樣:
[code]<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>[code]
這樣是不會有問題的。建議也確認一下為什麼伺服器設定檔會跑出不合法的xml
如果要修改,我想你可以把檔案讀成字串,然後用Regix類別處理過,再寫回去。
<pre class="c" name="code"><SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
少打了一個斜線