Kan någon förklara det här felmeddelandet? Svaret är att "Processing Instruction" inte är en nod. (per definition). >Svaret är att "Processing Instruction" inte är en nod. (per definition). Det verkar som man kallar dem "noder" ändå.. (det trodde inte jag..)MSXML Processing instruction
Koden ser ut så här
<code=vb>
Dim Dom, Node
Set Dom = CreateObject("msxml2.DOMDocument.4.0")
Set Node = Dom.CreateNode(7, "xml", "") ' 7=processing instruction
Node.NodeValue = "version='1.0'"
Dom.AppendChild Node
</code>
När jag kör koden får jag felet att NodeValue inte är tillgängligt för noder av typen XMLDECL.
Får samma felmeddelande om jag använder Node.Data eller Node.Text istället.
Hur bär man sig åt för att sätta innehållet i en processinginstruction nod.
(Vet att man kan använda CreateProcessingInstruction men koden ovan kommer från en mer generell klass)Sv: MSXML Processing instruction
Därför kan du inte skapa dem med CreateNode eller sätta NodeValue på dem.
Du måste helt enkelt behandla det som den "specialare" det är, med CreateProcessingInstruction.Sv:MSXML Processing instruction
ok
Det är dock lite förvillande att det står så här i dokumentationen för createProcessingInstruction
"Creates a processing instruction node that contains the supplied target and data."
"Creating a processing instruction node with this method is the same as using createNode where the Type parameter value is NODE_PROCESSING_INSTRUCTION and no namespace is specified."
Det är ju iofs sant men det borde ju stå i dokumentation för IXMLProcessingInstruction att NodeValue mm är read-only och inte read/write.Sv: MSXML Processing instruction
Men hur som helst ser det ju ut som att du måste använda CreateProcessingInstruction?