I am trying parse XML with xPath, I cm getting the error "Object reference not set to an instance of an object". My code is below:
__________________________________________________________________________________________________________________________
VB CODE:
Dim xmlDoc, xmlAds As New XmlDocument()
xmlDoc.Load(strXmlURL)
Dim nsManager As New XmlNamespaceManager(xmlDoc.NameTable)
nsManager.AddNamespace("onl", "http://www.saxotech.com/online stories.xsd")
Dim StoryItems As XmlNodeList = xmlDoc.SelectNodes("onl:stories/onl:story/onl:content", nsManager)
Response.Write(StoryItems.Item(0).SelectSingleNode("onl:heading").InnerText)
__________________________________________________________________________________________________________________________ XML Format:
<?xml version="1.0" encoding="UTF-8"?>
<onl:stories xmlns:onl="http://www.saxotech.com/online" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.saxotech.com/online stories.xsd" site="jp" siteuri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp" count="10"
totalcount="144" pagenumber="1" pagesize="10" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories">
<onl:story date="20121107" id="121109843" key="{13D80928-73F8-4209-B36C-F682D6F64B84}" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}" viewuri="http://JPedit.sx.atl.publicus.com/article/20121107/BOY/121109843">
<onl:metadata status="unpublished" priority="0">
<onl:modified by="colleenj" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{97A9E7BD-6311-41EC-9FBA-B7D347E44A9C}" timestamp="2012-11-07T21:50:46Z" internaltimestamp="2012-11-07T22:17:49Z" />
<onl:created by="colleenj" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{97A9E7BD-6311-41EC-9FBA-B7D347E44A9C}" timestamp="2012-11-07T21:50:46Z" />
<onl:published timestamp="2012-11-07T21:50:46Z" />
<onl:category id="BOY" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/categories/BOY"><![CDATA[Event - Business of the Year]]></onl:category>
</onl:metadata>
<onl:content>
<onl:heading><![CDATA[A Trbiute to Conrad M. Siegel]]></onl:heading>
<onl:summary><![CDATA[A brief tribute video created by FGV and the Central Penn Business Journal to recognize Conrad M. Siegel, founder, chairman and CEO of Conrad Siegel Actuaries upon his induction into the Central Penn Business Hall of Fame on November
1, 2012.
<a href="http://www.cpbjnow.com/assets/mov/JP127109117.WMV">Click here to watch the video.</a>]]></onl:summary>
<onl:image viewuri="/storyimage/jp/20121107/BOY/121109843/AR/0/0/AR-121109843.jpg" softcropimagesuri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/content/image/softcropimages">
<onl:heading><![CDATA[Conrad M. Siegel]]></onl:heading>
<onl:byline><![CDATA[Amy Spangler]]></onl:byline>
</onl:image>
</onl:content>
<onl:parents count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/parents" />
<onl:children count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/children" />
<onl:taxonomywords count="1" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/taxonomywords" />
<onl:geopoints count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/geopoints" />
<onl:extraimages count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/content/extraimages" />
<onl:mediafiles count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/content/mediafiles" />
<onl:staffmembers count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/staffmembers" />
<onl:comments count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/comments" />
</onl:story>
<onl:story date="20121107" id="121109844" key="{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}" viewuri="http://JPedit.sx.atl.publicus.com/article/20121107/SPORTS/121109844">
<onl:metadata status="published" priority="0">
<onl:modified by="amyg" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{D448C507-2C34-4BC1-9D8D-34360D50DB55}" timestamp="2012-11-07T20:25:35Z" internaltimestamp="2012-11-07T20:27:10Z" />
<onl:created by="amyg" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{D448C507-2C34-4BC1-9D8D-34360D50DB55}" timestamp="2012-11-07T20:25:35Z" />
<onl:published timestamp="2012-11-07T20:00:00Z" />
<onl:category id="SPORTS" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/categories/SPORTS"><![CDATA[Blog - Sports]]></onl:category>
</onl:metadata>
<onl:content>
<onl:heading><![CDATA[Concessions: Quite the moneymaker for stadiums]]></onl:heading>
<onl:summary><![CDATA[There’s a reason “Take Me Out To The Ballgame” includes a verse about peanuts and Cracker Jack. Even as far back as 1908, when the song was written, concessions were an important part of the fan experience –
and the team’s bottom line. ]]></onl:summary>
<onl:byline><![CDATA[Bill Sayer]]></onl:byline>
</onl:content>
<onl:parents count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/parents" />
<onl:children count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/children" />
<onl:taxonomywords count="1" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/taxonomywords" />
<onl:geopoints count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/geopoints" />
<onl:extraimages count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/content/extraimages" />
<onl:mediafiles count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/content/mediafiles" />
<onl:staffmembers count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/staffmembers" />
<onl:comments count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/comments" />
</onl:story>
</onl:stories>
ashwanisaini
Member
731 Points
164 Posts
Problem with xPath and NamspaceManager....
Nov 19, 2012 08:13 AM|LINK
Hi,
I am trying parse XML with xPath, I cm getting the error "Object reference not set to an instance of an object". My code is below:
__________________________________________________________________________________________________________________________
VB CODE:
Dim xmlDoc, xmlAds As New XmlDocument()
xmlDoc.Load(strXmlURL)
Dim nsManager As New XmlNamespaceManager(xmlDoc.NameTable)
nsManager.AddNamespace("onl", "http://www.saxotech.com/online stories.xsd")
Dim StoryItems As XmlNodeList = xmlDoc.SelectNodes("onl:stories/onl:story/onl:content", nsManager)
Response.Write(StoryItems.Item(0).SelectSingleNode("onl:heading").InnerText)
__________________________________________________________________________________________________________________________
XML Format:
<?xml version="1.0" encoding="UTF-8"?>
<onl:stories xmlns:onl="http://www.saxotech.com/online" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.saxotech.com/online stories.xsd" site="jp" siteuri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp" count="10" totalcount="144" pagenumber="1" pagesize="10" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories">
<onl:story date="20121107" id="121109843" key="{13D80928-73F8-4209-B36C-F682D6F64B84}" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}" viewuri="http://JPedit.sx.atl.publicus.com/article/20121107/BOY/121109843">
<onl:metadata status="unpublished" priority="0">
<onl:modified by="colleenj" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{97A9E7BD-6311-41EC-9FBA-B7D347E44A9C}" timestamp="2012-11-07T21:50:46Z" internaltimestamp="2012-11-07T22:17:49Z" />
<onl:created by="colleenj" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{97A9E7BD-6311-41EC-9FBA-B7D347E44A9C}" timestamp="2012-11-07T21:50:46Z" />
<onl:published timestamp="2012-11-07T21:50:46Z" />
<onl:category id="BOY" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/categories/BOY"><![CDATA[Event - Business of the Year]]></onl:category>
</onl:metadata>
<onl:content>
<onl:heading><![CDATA[A Trbiute to Conrad M. Siegel]]></onl:heading>
<onl:summary><![CDATA[A brief tribute video created by FGV and the Central Penn Business Journal to recognize Conrad M. Siegel, founder, chairman and CEO of Conrad Siegel Actuaries upon his induction into the Central Penn Business Hall of Fame on November 1, 2012.
<a href="http://www.cpbjnow.com/assets/mov/JP127109117.WMV">Click here to watch the video.</a>]]></onl:summary>
<onl:image viewuri="/storyimage/jp/20121107/BOY/121109843/AR/0/0/AR-121109843.jpg" softcropimagesuri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/content/image/softcropimages">
<onl:heading><![CDATA[Conrad M. Siegel]]></onl:heading>
<onl:byline><![CDATA[Amy Spangler]]></onl:byline>
</onl:image>
</onl:content>
<onl:parents count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/parents" />
<onl:children count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/children" />
<onl:taxonomywords count="1" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/taxonomywords" />
<onl:geopoints count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/geopoints" />
<onl:extraimages count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/content/extraimages" />
<onl:mediafiles count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/content/mediafiles" />
<onl:staffmembers count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/staffmembers" />
<onl:comments count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{13D80928-73F8-4209-B36C-F682D6F64B84}/comments" />
</onl:story>
<onl:story date="20121107" id="121109844" key="{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}" viewuri="http://JPedit.sx.atl.publicus.com/article/20121107/SPORTS/121109844">
<onl:metadata status="published" priority="0">
<onl:modified by="amyg" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{D448C507-2C34-4BC1-9D8D-34360D50DB55}" timestamp="2012-11-07T20:25:35Z" internaltimestamp="2012-11-07T20:27:10Z" />
<onl:created by="amyg" user="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/users/{D448C507-2C34-4BC1-9D8D-34360D50DB55}" timestamp="2012-11-07T20:25:35Z" />
<onl:published timestamp="2012-11-07T20:00:00Z" />
<onl:category id="SPORTS" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/categories/SPORTS"><![CDATA[Blog - Sports]]></onl:category>
</onl:metadata>
<onl:content>
<onl:heading><![CDATA[Concessions: Quite the moneymaker for stadiums]]></onl:heading>
<onl:summary><![CDATA[There’s a reason “Take Me Out To The Ballgame” includes a verse about peanuts and Cracker Jack. Even as far back as 1908, when the song was written, concessions were an important part of the fan experience – and the team’s bottom line. ]]></onl:summary>
<onl:byline><![CDATA[Bill Sayer]]></onl:byline>
</onl:content>
<onl:parents count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/parents" />
<onl:children count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/children" />
<onl:taxonomywords count="1" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/taxonomywords" />
<onl:geopoints count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/geopoints" />
<onl:extraimages count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/content/extraimages" />
<onl:mediafiles count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/content/mediafiles" />
<onl:staffmembers count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/staffmembers" />
<onl:comments count="0" uri="http://JPedit.sx.atl.publicus.com/apps/ows.dll/sites/jp/stories/{AB1DACF8-C54D-42F4-BCB3-C820260D3CB9}/comments" />
</onl:story>
</onl:stories>
_________________________________________________________________________________
Please Help.
Decker Dong ...
All-Star
118619 Points
18779 Posts
Re: Problem with xPath and NamspaceManager....
Nov 20, 2012 12:45 AM|LINK
Hello,
that's because there's something wrong with your XNameSpace's defination of "onl", please change this in bold statement.
ashwanisaini
Member
731 Points
164 Posts
Re: Problem with xPath and NamspaceManager....
Nov 20, 2012 05:38 AM|LINK
Thanks Decker!