[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Solved -accessing Character Entity's via MSXML par

Subject: Re: Solved -accessing Character Entity's via MSXML parser, in their original form...
From: tcn@xxxxxxxxxxxxx (Trevor Nash)
Date: Mon, 29 Oct 2001 08:30:13 GMT
ben jerry s structure
>Solved -accessing Character Entity's via MSXML parser, in their original
>form...

Now try as input

<?xml version="1.0"?>
<Company>
	<AccountNumber  Name="Ben &#38; Jerry's"
PhoneNumber="555-1212">123456</AccountNumber>
</Company>

As David pointed out earlier, &#38; is just another way of saying
&amp; -- I will be very surprised if your output contains &#38;.

If you ask for .Text then text is what you get - characters in their
raw form, i.e. & < etc.

If you ask for .xml then you will get something suitable for inclusion
in an XML document, i.e. with special characters escaped.

Maybe this is what you want, but don't confuse yourself (and others
who might come across your message in the archive) by saying 

>
>and so I can now finally retrieve the node
>attribute value as it exists in the original XML structure ....
>

It's not that at all, it just looks like it when the input follows the
same escaping conventions as the output.

Regards,
Trevor Nash

>****************************************************************************
>*****
>
>Given the following XML structure ....
>
>***************************************************************************
><?xml version="1.0"?>
><Company>
>	<AccountNumber  Name="Ben &amp; Jerry's"
>PhoneNumber="555-1212">123456</AccountNumber>
></Company>
>***************************************************************************
>
>where the above XML structure is set to a variable XML1
>
>
>and the following VB function...using the MSXML parser....
>
>***************************************************************************
>Function RetrieveValue() as String
>On Error GoTo errorhandler
>
>    Dim XMLDoc As New MSXML2.DOMDocument30
>    Dim selection As MSXML2.IXMLDOMSelection
>    Dim strValue_1$, strValue_2$, strValue_3$, strValue_4$
>    Dim bLoadError%
>    Dim i%
>
>    i = 0
>    bLoadError = XMLDoc.loadXML(XML1)
>    Set selection = XMLDoc.selectNodes("//AccountNumber")
>
>    strValue_1$ = selection.Item(i).Attributes.getNamedItem("Name").Text
>
>    strValue_2$ = selection.Item(i).Attributes.getNamedItem("Name").xml
>
>    strValue_3$ =
>selection.Item(i).Attributes.getNamedItem("Name").firstChild.Text
>
>    strValue_4$ =
>selection.Item(i).Attributes.getNamedItem("Name").firstChild.xml
>
>
>    FindXMLCharacterEntity = strValue_4$
>
>Exit Function
>errorhandler:
>Resume Next
>End Function
>***************************************************************************
>
>..then the following values will be found
>
>strValue_1$ = Ben & Jerry's
>strValue_2$ = Name="Ben &amp; Jerry's"
>strValue_3$ = Ben & Jerry's
>strValue_4$ = Ben &amp; Jerry's
>
>and it is strValue_4$ that now finally allows me
>to return the value of the Name attribute
>as it exists in the XML structure before
>it is loaded ....by accessing firstChild.xml ....
>
>strValue_4$ =
>selection.Item(0).Attributes.getNamedItem("Name").firstChild.xml
>
>
>and so I can now finally retrieve the node
>attribute value as it exists in the original XML structure ....
>
>**********************************************************
>**********************************************************
>**********************************************************
>NOTE: "This is all I had wanted to begin with !!"
>**********************************************************
>**********************************************************
>**********************************************************
>
>or
>
>given
>.
>.
>.
><SomeNode  SomeAttribute="ABC123" SomeOtherAttribute="Ben &amp;
>Jerrys">123456</SomeNode>
>.
>.
>.
>
>
>Dim pbError as Boolean
>Dim XMLDOC As New MSXML2.DOMDocument30
>XMLDOC.setProperty "SelectionLanguage", "XPath"
>pbError = XMLDOC.Load(msXMLFile)
>
>XMLDOC.selectSingleNode("//SomeNode[@SomeAttribute =
>'ABC123' ]").Attributes.getNamedItem  ("SomeOtherAttribute").firstChild.text
>
>will return   Ben & Jerrys
>
>vs.
>
>XMLDOC.selectSingleNode("//SomeNode[@SomeAttribute =
>'ABC123' ]").Attributes.getNamedItem("SomeOtherAttribute").firstChild.xml
>
>but this will return   Ben &amp; Jerrys
>
>
>

Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email

Melvaig Software Engineering Limited
voice:     +44 (0) 1445 771 271 
email:     tcn@xxxxxxxxxxxxx

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.