string xPath= @"/ActiveTestReq/MsgType";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
XmlNode xmlNode = xmlDoc.SelectSingleNode(xPath);
XmlElement xmlEle =(XmlElement)xmlNode;
string msgType = xmlEle.InnerText;
只要程序一执行string msgType = xmlEle.InnerText; 就保此错误;其中xmlString= "<BillingReq xmlns=\"http://www.monternet.com/dsmp/schemas/>
<Version>1.5.0</Version>
<MsgType>BillingReq</MsgType>
<TransactionID>1111111</TransactionID>
<hRet>0</hRet>
<UserIdType>13011112222</UserIdType>
</BillingRq>"
请高手帮忙啊!
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
XmlNode xmlNode = xmlDoc.SelectSingleNode(xPath);
XmlElement xmlEle =(XmlElement)xmlNode;
string msgType = xmlEle.InnerText;
只要程序一执行string msgType = xmlEle.InnerText; 就保此错误;其中xmlString= "<BillingReq xmlns=\"http://www.monternet.com/dsmp/schemas/>
<Version>1.5.0</Version>
<MsgType>BillingReq</MsgType>
<TransactionID>1111111</TransactionID>
<hRet>0</hRet>
<UserIdType>13011112222</UserIdType>
</BillingRq>"
请高手帮忙啊!
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
XmlNode xmlNode = xmlDoc.SelectSingleNode(xPath);
XmlElement xmlEle =(XmlElement)xmlNode;
string msgType = xmlEle.InnerText;
只要程序一执行string msgType = xmlEle.InnerText; 就保此错误;其中xmlString= "<ActiveTestReq xmlns=\"http://www.monternet.com/dsmp/schemas/\">
<Version>1.5.0</Version>
<MsgType>BillingReq</MsgType>
<TransactionID>1111111</TransactionID>
<hRet>0</hRet>
<UserIdType>13011112222</UserIdType>
</ActiveTestReq>"
请高手帮忙啊!
可能是这句话有问题。你查一下SelectSingleNode的用法。xmlNode可能是未定义。所以string msgType = xmlEle.InnerText; 会报"未将对象引用设置到对象的实例“
但是我定位到是”xmlns=\"http://www.monternet.com/dsmp/schemas“,导致的,如果没有这个字符串则没有问题,如果有这个字符串则xmlNode就会为null?
不知为什么,请指点!
string xmlString = @"<ActiveTestReq xmlns='http://www.monternet.com/dsmp/schemas/'>
<Version>1.5.0</Version>
<MsgType>BillingReq</MsgType>
<TransactionID>1111111</TransactionID>
<hRet>0</hRet>
<UserIdType>13011112222</UserIdType>
</ActiveTestReq>";xmlDoc.LoadXml(xmlString);
XmlNamespaceManager xnm = new XmlNamespaceManager(xmlDoc.NameTable);
xnm.AddNamespace("mxh", "http://www.monternet.com/dsmp/schemas/");
string xPath = @"/mxh:ActiveTestReq/mxh:MsgType";
MessageBox.Show(xmlDoc.InnerText);
XmlNode xmlNode = xmlDoc.SelectSingleNode(xPath, xnm);
if (xmlNode != null)
{
MessageBox.Show(xmlNode.InnerText);
}