XmlNode.OwnerDocument.ChildNodes is empty
本文关键字:empty is ChildNodes OwnerDocument XmlNode | 更新日期: 2023-09-27 18:14:48
我从web服务获得一个XmlElement。我得到了意想不到的结果,因为xmlElement.OwnerDocument.ChildNodes
是空的。这怎么可能呢?
这是xml:
<tns1:VideoSource xmlns:tns1="http://www.onvif.org/ver10/topics">
<MotionAlarm wstop:topic="true" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns="http://www.onvif.org/ver10/events/wsdl">
</MotionAlarm>
</tns1:VideoSource>
我用下面的代码测试了你的xml,有像你说的孩子。我怀疑可能有一些白色字符正在产生错误。如果你从一个网站(可能是一个流)得到数据,在流的末尾可能会有一些不可见的空字符。确保您的流类使用UTF8编码。一些流的默认编码是Ascii,它可以改变字符和添加填充字符,这可能会产生问题。
string input =
"<tns1:VideoSource xmlns:tns1='"http://www.onvif.org/ver10/topics'">" +
"<MotionAlarm wstop:topic='"true'" xmlns:wstop='"http://docs.oasis-open.org/wsn/t-1'" xmlns='"http://www.onvif.org/ver10/events/wsdl'">" +
"</MotionAlarm>" +
"</tns1:VideoSource>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(input);
XmlNodeList videoSource = doc.ChildNodes;
XmlNodeList motionAlarm = videoSource[0].ChildNodes;