2010-05-11 7 views
0

xml을 사용하여 웹 사이트의 레이블을 가져옵니다."선언되지 않은 네임 스페이스 접두사 참조"오류

데이터베이스 파일에서 생성 된 XML이

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' 
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' 
xmlns:rs='urn:schemas-microsoft-com:rowset' 
xmlns:z='#RowsetSchema'> 
<s:Schema id='RowsetSchema'> 
<s:ElementType name='row' content='eltOnly' rs:updatable='true'> 
    <s:AttributeType name='LABEL_KEY' rs:number='1' rs:nullable='true'> 
     <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='1000'/> 
    </s:AttributeType> 
    <s:AttributeType name='Label_LNG' rs:number='2' rs:writeunknown='true' rs:basecatalog='1500_GoldenFlour' rs:basetable='t_Label_SITE_PER_LNG' 
     rs:basecolumn='Label_LNG'> 
     <s:datatype dt:type='string' dt:maxLength='4000' rs:maybenull='false'/> 
    </s:AttributeType> 
    <s:AttributeType name='Label_ID' rs:number='3' rs:basecatalog='1500_GoldenFlour' rs:basetable='t_Label_SITE' 
     rs:basecolumn='Label_ID' rs:keycolumn='true' rs:hidden='true' rs:autoincrement='true'> 
     <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/> 
    </s:AttributeType> 
    <s:AttributeType name='c3' rs:name='Label_ID' rs:number='4' rs:writeunknown='true' rs:basecatalog='1500_GoldenFlour' 
     rs:basetable='t_Label_SITE_PER_LNG' rs:basecolumn='Label_ID' rs:keycolumn='true' rs:hidden='true'> 
     <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/> 
    </s:AttributeType> 
    <s:AttributeType name='Language_ID' rs:number='5' rs:writeunknown='true' rs:basecatalog='1500_GoldenFlour' 
     rs:basetable='t_Label_SITE_PER_LNG' rs:basecolumn='Language_ID' rs:keycolumn='true' rs:hidden='true'> 
     <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/> 
    </s:AttributeType> 
    <s:extends type='rs:rowbase'/> 
</s:ElementType> 
</s:Schema> 
<rs:data> 
    <z:row LABEL_KEY='_home' Label_LNG='Home' Label_ID='1' c3='1' Language_ID='1'/> 
<z:row LABEL_KEY='_members_area' Label_LNG='Members Area' Label_ID='2' c3='2' Language_ID='1'/> 
<z:row LABEL_KEY='_logout_members_area' Label_LNG='Logout Members Area' Label_ID='3' c3='3' Language_ID='1'/> 
<z:row LABEL_KEY='_site_map' Label_LNG='Site Map' Label_ID='4' c3='4' Language_ID='1'/> 
</rs:data> 
</xml> 

처럼 내 기능은

Public Function Get_Item(Temp_L_KEY) 
     Set XMLL = Server.CreateObject("MSXML2.DOMDocument.4.0") 
     XMLL.Async = False 
     XMLL.Load (Server.MapPath(Replace(application("root"),"/","\") & "system\db\dict\SITE_xml_" & Temp_LNG_ID & ".xml")) 
     Get_Item=xmll.selectSingleNode("xml/rs:data/z:row[@LABEL_KEY='" & lcase(Temp_L_KEY) & "']").attributes(1).value 
      if err.number <>0 then 
       Get_Item=Temp_L_KEY 
      end if 
    End Function 

내가 그 오류를

있는 Msxml4.dll 오류 '80004005'을 얻을

선언되지 않은 네임 스페이스 p에 대한 참조 refix : 'rs'.

+0

MSXML을 잘 모르지만 네임 스페이스 접두사를 자동으로 인식합니까? 큰 – Skurmedel

답변

5

MSXml에 대한 네임 스페이스를 선언하지 않았습니다.

당신은 문서를로드 한 후 및 선택하기 전에 다음 사항을 추가 할 수 있습니다

XMLL.setProperty("SelectionNamespaces", "xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' xmlns:rs='urn:schemas-microsoft-com:rowset'"); 

더 자세한 내용은 this 기사를 참조하십시오.

+0

, 지금 내가 얻을 마이크로 소프트 VBScript 런타임 오류 '800A01A8' 필요한 개체 : 'XMLL.selectSingleNode (...)' – eyalb

+0

@eyalb - XPath 쿼리는 어떤 결과를 반환하거나, 속성에 액세스하는 추측이 존재하지 않음. – Oded

관련 문제