プロが教える店舗&オフィスのセキュリティ対策術

ASP(VBScript)内の処理でwebからXMLファイルをLoadし、
そこからattribute値を取得しようとしているのですが、
どうもうまくいきません。。
XMLファイルのデータ取得自体はうまく出来ています。

--------------------------------------

' 以下、LoadしたXML本文です。
<?xml version="1.0" encoding="Shift-JIS"?>
<info>
<title>タイトル1</title>
<text no="100"> <--この100が取得したい
<note>本文1</note>
</text>
<text no="200"> <--この200が取得したい
<note>本文2</note>
</text>
<title>タイトル2</title>
<text no="100"> <--この100が取得したい
<note>本文1</note>
</text>
<text no="200"> <--この200が取得したい
<note>アナログ本文</note>
</text>
</info>


' 以下、VBScript本文です
<% language = "VBscript" %>
<%
dim objXml
Set objXml = Server.CreateObject("Microsoft.XMLDOM")
objXml.load("http://localhost/text.xml")
Call Disp(objXml.childNodes)

Public Sub Disp(ByRef Nodes)
Dim cNode
For Each cNode In Nodes
If cNode.parentNode.nodeName = "text" Then
If Not cNode.attributes Is Nothing Then
response.write cNode.getAttribute("no") '<-- 表示されない。。
End If
End If
Next
End Sub
%>

--------------------------------------

最終的にやりたい事としては、
DBから text no を取得して、その no が一致したものを表示、
といった事をやりたいと考えています。
(完全に不一致の場合は、タイトルも表示させない)

取り急ぎ、表示されない理由がどなたかお分かりでしたら
ご教授願えないでしょうか・・・?

以上、よろしくお願いいたします。

A 回答 (1件)

実行していないので、殆ど直感ですが


objXml.childNodes
で取得したノードリストがtitle要素や、text要素のリストだから、それの親ノードの名前を拾っても常にinfoを返すだけなのでは?
と思いました。
間違っていたらごめんなさい。

この回答への補足

ご回答ありがとうございます。

何となくそのような気がしていたのですが、
恥ずかしながら、正しい文法(コーディング方法)が
分からないのです、、
つきましては、恐れ入りますが、その場合、
具体的な記述はどのようにすれば良いのか
差し支えなければご教授願えないでしょうか・・・?

もしくは、この件についての何か良い文献をご存知でしたら
そちら、お教え願えないでしょうか?

何卒、よろしくお願いいたします。

補足日時:2008/09/24 09:26
    • good
    • 0
この回答へのお礼

すみません、自己解決しました!!

cNode.parentNode.getAttribute("no")

で取得できました!!

お礼日時:2008/09/24 10:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!