Ich bin ein Neuling in VBScript und XML-Codierung.Allerdings, meinen Kopf herum und versuchen, die Konzepte von W3 Schulen und anderen Online-Foren zu verstehen.Importieren von XML-Inhalten nach Excel
Ich möchte eine XML-Datei mit VBScript lesen/analysieren, meine XML-Datei ist nicht Daten, sondern XML-Quellcode aus einer Anwendung.
Unten ist der Code-Snippet, das ich verwende -
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
Wenn ich durch den VB-Code Schritt immer der objNode.Length Wert auf 0 Nicht sicher auswertet, warum die nicht die Länge zu berechnen. Hier
ist die xml, die ich zu analysieren, ich versuche -
<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>
Schätzen Sie Ihre Zeit und Antwort.
Dank & Grüße Raj
Vielleicht passt Ihr XPATH nicht zu etwas. Ob dies der Fall ist oder nicht, können wir nur feststellen, wenn wir das XML sehen. Bitte zeigen Sie Ihre XML an. –
Danke für Ihre Antwort @AxelRichter. Ich habe den obigen Beispiel-XML-Code eingefügt. – Raj
Wenn Sie Ihre XML wie folgt ändern, wird "text()" nicht mehr leer sein: ' blabla (nur ein dummes Beispiel) –
Dominique