使用的例子如下: 
    public  class CarPosition
    {
        private string xmlString = @"<ROOT><car ID='车辆编号'><lng>经度</lng><lat>纬度</lat><tm>时间</tm></car></ROOT>";
        private XmlDocument xmlDoc ;
        public CarPosition()
        {
            xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(xmlString);
        }

        public string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                strRet = strRet + xmlNode.InnerText;
            }
            return strRet;
        }
    }
为了方便看出XML文档的结构,再粘一下:
<ROOT>
	<car ID=’车辆编号’>
		<lng>经度</lng>
		<lat>纬度</lat>
		<tm>时间</tm>
	</car>
</ROOT>
调用ToString方法,结果如下:

.NET操作XML测试

将ToString方法改成如下:

        public override  string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                strRet = strRet + xmlNode.Name ;
            }
            return strRet;
        }

结果如下:

.NET操作XML测试

再改成如下:

        public override  string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                    strRet = strRet + xmlNode.InnerXml ;
            }
            return strRet;
        }

.NET操作XML测试

再改成如下:

        public override  string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                    strRet = strRet + xmlNode.OuterXml ;
            }
            return strRet;
        }

.NET操作XML测试

为了得到ROOT下面的子节点,改成如下:
        public override  string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                XmlNode xmlN = xmlNode.FirstChild;    
                strRet = strRet + xmlN .OuterXml  ;
            }
            return strRet;
        }
.NET操作XML测试 

 

能够得到节点了,下面得到节点中指定元素的属性或值。

改成

        public override  string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                XmlNode xmlN = xmlNode.FirstChild;
                XmlNode xmlNo = xmlN.FirstChild;
                strRet = strRet + xmlNo .OuterXml  ;
            }
            return strRet;
        }

得到的结果是

.NET操作XML测试

改成

        public override  string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList= xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                XmlNode xmlN = xmlNode.FirstChild;
                XmlNode xmlNo = xmlN.FirstChild;
                strRet = strRet + xmlNo .InnerXml   ;
            }
            return strRet;
        }
得到的结果是

.NET操作XML测试

改成

        public override string ToString()
        {
            string strRet = "";
            XmlNodeList xmlNodeList = xmlDoc.ChildNodes;
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                XmlNode xmlN = xmlNode.FirstChild;
                strRet = strRet + xmlN.Attributes.Item (0).InnerText ;
            }
            return strRet;
        }

.NET操作XML测试

总结一下:

可以看出,Text是对标记里面的内容的提取,而Xml则是对标记和标记内容的提取,其中innerXml不包括当前节点的提取,而outerXml则将自身包括在内。

.NET操作XML测试

相关文章:

  • 2022-01-25
  • 2021-10-14
  • 2021-10-13
  • 2021-12-23
  • 2021-08-28
猜你喜欢
  • 2021-08-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
  • 2021-09-18
相关资源
相似解决方案