2011-12-20 44 views
2

の値を取得するためにクラシックASPを使用した:私は、次のXMLスキーマを持っているノード属性

ASPを使用して
<?xml version="1.0" encoding="utf-8"?> 
    <PageMapping> 
    <Applications> 
     <Application name="xxx"> 
     <Page name='Default.aspx' IsCaptured = "true" > 
      <Control name="btnSearch" IsCaptured = "true"/> 
      <Control name="btnSave" IsCaptured = "true"/> 
      <Control name="btnClick" IsCaptured = "true"/> 
     </Page> 
     <Page name='Login.aspx' IsCaptured = "true"> 
      <Control name="btnSearch" IsCaptured = "true"/> 
     </Page> 
     <Page name='Home.aspx' IsCaptured = "true" > 
      <Control name="btnSearch" IsCaptured = "true"/> 
     </Page> 
     <Page name='User.aspx' IsCaptured = "true" /> 
    </Application> 
    </Applications> 
</PageMapping> 

、どのように私は、「名前」と「IsCaptured」の値を取得するのでしょうか?私はあらゆる種類の方法を試みましたが、何も動作していないようです。何か案は?これらに

Set oXML = Server.CreateObject("MSXML2.DomDocument.4.0") 
oXML.LoadXML(sXML) ' sXML is a variable containing the content of your XML file 

For Each oNode In oXML.SelectNodes("/PageMapping/Applications/Application/Page") 
    sName = oNode.GetAttribute("Name") 
    sIsCaptured = oNode.GetAttribute("IsCaptured") 

    ' Do something with these values here 
Next 

Set oXML = Nothing 
+0

我々はより多くの細部を必要とする:サーバー上でこのXMLローカルファイルのですか?それとも別のマシン/ウェブサイトにありますか? –

+0

このXMLはローカルサーバー上にのみ存在します – subramani

+0

だから[Rory answer](http://stackoverflow.com/a/8573002/447356)は正しいはずです。 –

答えて

2

はこれを試してみてください

Dim sName : sName = oNode.GetAttribute("Name") 
Dim sIsCaptured : sIsCaptured = oNode.GetAttribute("IsCaptured") 
+0

XMLファイルが同じ仮想ディレクトリで利用可能です。 anythinkに含める必要がありますか?注:IE 8 – subramani

+0

@subramaniを使用しています。 'oXML.LoadXML(sXML)'を 'oXML.Load(" filename.xml ")' –

+1

@Shadowに変更するだけです。Server.MapPathも必要です。 – AnthonyWJones

0

変更ライン4と5:

関連する問題