很顯然,我寧願打電話決定吐出像以下這樣的XML是一個好主意的人,但唉,我不能。 ;-)XPath經典ASP
我有以下XML:
<search>
<key_0>
<ContentTitle>blah</ContentTitle>
</key_0>
<key_1>
<ContentTitle>blah blah</ContentTitle>
</key_1>
</search>
什麼是正確的XPath來獲取數據了。 如果應該,節點名稱每次都是'key',下面的asp和// search/key的xpath會完美地完成這項工作。但是,我無法找到正確的xpath /這樣做的方式,或者如何修改代碼。
任何任何想法?由於
Dim mydoc : Set mydoc=Server.CreateObject("Microsoft.XMLDOM")
mydoc.async=false
mydoc.loadXML(xmlFile)
If mydoc.parseError.errorcode<>0 then
Response.write mydoc.parseError.errorcode & " is the error code!<br />"
Else
Set xmlPNode = mydoc.selectNodes("//search/key")
If(xmlPNode.Length=0) Then
response.write "No results found!"
Else
Dim iTotalResults : iTotalResults = (xmlPNode.Length - 1)
Dim i
For i = 0 to iTotalResults
strContentTitle=GetXMLItem("ContentTitle", i)
Next
End If
Set xmlPNode = Nothing
End if
Function GetXMLItem(strpItem, ipValue)
Dim nlOutput : Set nlOutput = xmlPNode(ipValue).selectNodes(strpItem)
If(nlOutput.Length<>0) Then
GetXMLItem=nlOutput(0).Text
Else
GetXMLItem=""
End If
End Function
有時,如果你已經有了處理設計不當XML最好的辦法是通過將它(使用XSLT)爲更好的XML啓動任務。那樣,處理不好的任務只需要做一次。 – 2012-03-21 08:34:35
這似乎是正確的解決方法。非常感謝! – 2012-03-21 10:15:47