ASP读取XML的时候遇上空值,使用XPATH应该怎么处理呢?
假设有个这样的XML
<bookstore>
<storename>小寨店</storename>
<storetel>029-8888 8888</storetel>
<storeaddr>西安市长安中路100号</storeaddr>
<bookclass>
<classname>社科类</classname>
<classadmin>李四</classadmin>
<classlist>
<bookname>XXX时代</bookname>
<bookprice>CNY90.00</bookprice>
<bookpress/>
</classlist>
</bookclass>
<bookclass>
<classname>小说类</classname>
<classadmin>王五</classadmin>
<classlist>
<bookname>冰与火之歌1</bookname>
<bookprice>CNY70.00</bookprice>
<bookpress>HBO出版社</bookpress>
<bookname>冰与火之歌2</bookname>
<bookprice>CNY70.00</bookprice>
<bookpress>HBO出版社</bookpress>
<bookname>冰与火之歌3</bookname>
<bookprice>CNY70.00</bookprice>
<bookpress>HBO出版社</bookpress>
</classlist>
</bookclass>
<classname>IT类</classname>
<classadmin>张三</classadmin>
<classlist>
<bookname>C语言基础教程</bookname>
<bookprice>CNY20.00</bookprice>
<bookpress>高等教育出版社</bookpress>
<bookname>Think in C++</bookname>
<bookprice>CNY90.00</bookprice>
<bookpress>清华大学出版社</bookpress>
<bookname>Think in Java</bookname>
<bookprice>CNY89.00</bookprice>
<bookpress>清华大学出版社</bookpress>
</classlist>
</bookclass>
</bookstore>
Set objXML= CreateObject("MSXML2.DOMDocument")
'===
set objStore= objXML.getElementsByTagName("bookstore")
set objBookclass=objStore.item(0).getElementsByTagName("bookclass")
'这不是就抓到所有的bookclass节点了吗,然后下面开始逐个分析节点
For i=0 to objBookclass.length-1
set bps=objBookclass.item(i).getElementsByTagName("bookpress")
if bps.length=0 or bps.item(0).text="" then
set classname=objBookclass.item(i).getElementsByTagName("classname")
set classadmin=objBookclass.item(i).getElementsByTagName("classadmin")
response.write classname.item(0).text&"
[解决办法]
"&classadmin.item(0).text
end if
Next
Set objBookclass=Nothing
Set objStore=Nothing
Set objXML=Nothing