XML : Parsing XFDL Contents - C#

I am tasked with ripping and stripping pertinent data from XFDL files. I am attempting to use XmlDocument's SelectSignleNode method to do so. However, it has proven unsuccessful.

Represntative XML:

  <XFDL>  ...  <page1>  <check3>true</check3>  </page1>  ...  <page sid="PAGE1">  <check sid="CHECK9">  <value>true</value>  </check>  </page>  ...    

Code:

  XmlDocument document = new XmlDocument();  document.Load(memoryStream);//decoded and unzipped xfdl file  //Doesn't work  XmlNode checkBox = document.SelectSingleNode("//check[@sid='CHECK9']/value");  //Doesn't work  XmlNode checkBox = document.SelectSingleNode("//page[@sid='PAGE1']/check[@sid='CHECK9']");  MsgBox(checkBox.InnerXml);    

Yields me System.NullReferenceException as an XmlNode isn't selected.

I think I'm having an xpath issue but I can't seem to understand where. The earlier xml node is easily selected using:

  XmlNode checkBox = document.SelectSingleNode("//page1/check3");  MsgBox(checkBox.InnerText);    

Displays just fine. And just to head it off at the pass, there isn't a definition of <check9></check9> in the <page1> tag.

Anyone have some insight?

Thanks in advance.

No comments:

Post a Comment