저는 VBScript 및 XML 코딩의 초보자입니다. 그러나 W3 학교 및 기타 온라인 포럼의 개념을 이해하려고 노력하고 있습니다.XML 콘텐츠를 Excel로 가져 오기
VBScript를 사용하여 XML 파일을 읽거나 파싱하려면 XML 파일이 데이터가 아니라 응용 프로그램의 XML 소스 코드입니다. 나는 VB 코드를 통해 단계 때 objNode.Length 값은 항상 0 확실하지 평가
Sub LoadXMLFile()
Dim objXML 'for xml document
Dim objNode 'for xml node item
Dim i As Integer
i = 0
Set objXML = CreateObject("Microsoft.XMLDOM")
objXML.Load ("C:\path\test.xml")
objXML.setProperty "SelectionLanguage", "XPath"
Set objNode = objXML.SelectNodes("/report/queries/query/selection/dataItem/text()")
'MsgBox objNode.Text
For i = 0 To (objNode.Length - 1)
NodeVal = objNode(i).NodeValue
MsgBox NodeVal
Next
End Sub
그것의 길이를 계산하지 왜 -
다음은 내가 사용하고 코드 조각입니다.
<report xmlns="http://developer.cognos.com/schemas/report/10.0/" useStyleVersion="10" expressionLocale="en-us">
<modelPath>
/content/package[@name='GO Sales (query)']/model[@name='model']
</modelPath>
<drillBehavior/>
<queries>
<query name="Query1">
<source>
<model/>
</source>
<selection>
<dataItem aggregate="none" rollupAggregate="none" name="Product line">
<expression>[Sales (query)].[Products].[Product line]</expression>
<XMLAttributes>
<XMLAttribute output="no" name="RS_dataType" value="3"/>
<XMLAttribute output="no" name="RS_dataUsage" value="attribute"/>
</XMLAttributes>
</dataItem>
<dataItem aggregate="none" rollupAggregate="none" name="Product type">
<expression>[Sales (query)].[Products].[Product type]</expression>
<XMLAttributes>
<XMLAttribute output="no" name="RS_dataType" value="3"/>
<XMLAttribute output="no" name="RS_dataUsage" value="attribute"/>
</XMLAttributes>
</dataItem>
</selection>
</query>
</queries>
</report>
당신의 시간 및 응답을 감사합니다 - 여기
내가 구문 분석하는 데 노력하고있어 XML이다.
감사 & 감사 라지
XPATH가 뭔가 일치하지 않을 수도 있습니다. 이것이 사실이든 아니든간에 우리는 XML을 언제 볼 수 있는지를 결정할 수 있습니다. XML을 보여주십시오. –
회신 해 주셔서 감사합니다. @AxelRichter. 위의 샘플 XML 코드를 붙여 넣었습니다. – Raj
XML을 다음과 같이 수정하면 "text()"가 더 이상 비어 있지 않습니다. blabla' (그냥 바보 같은 예) –
Dominique