C#读写XML

/*写xml*/ 
private static string XmlString()
        {
            MemoryStream stream = new MemoryStream();
            XmlWriterSettings setting = new XmlWriterSettings();
            setting.Encoding = new UTF8Encoding(true);
            setting.Indent = true;
            using (XmlWriter write = XmlWriter.Create(stream, setting))
            {
                write.WriteStartElement("Request");//创建节点
                writer.WriteAttributeString("service", "CustomerWeight");//<Request service="CustomerWeight"//设置属性
                writer.WriteAttributeString("lang", "zh-CN");
                write.WriteElementString("Head", "ssss");//创建节点及赋值<Head>ssss</Head>
                write.WriteStartElement("Body");//创建节点
                write.WriteStartElement("Order");
                write.WriteAttributeString("mailno", "sdfsf");//设置节点属性
                write.WriteAttributeString("custid", "sdfsdf");
                write.WriteAttributeString("cargo_total_weight", "sfsdfsdf");
                write.WriteEndElement();//结束Order对应的节点
                write.WriteEndElement();//结束Body对应的节点
                write.WriteEndElement();//结束Request对应的节点
            }
            return Encoding.UTF8.GetString(stream.ToArray());
        }

/*读xml*/ 
private static void ReadXml(string result)
        {
            XmlDocument documents = new XmlDocument();
            documents.LoadXml(result);//加载xml数据
            XmlNode xn = documents.SelectSingleNode("root");//获取到root节点
//XmlNode root = doc.DocumentElement;//这也可以获取到根节点
            XmlNodeList xnls = xn.ChildNodes;//获取到root节点下的所有子节点
            //string statusText = documents.GetElementInnerText("status");//获取到status节点文本值
            for (int i = 0; i < xnls.Count; i++)//遍历root节点下的所有字节点
            {
                string zx_typeType = xnls[i].GetAttributeValue("zx_type");//获取到root字节点zx_type属性值
               xnls[i].Attributes["zx_type"].Value //获取到root字节点zx_type属性值
               string text = xnls[i].InnerText;//获取到root子节点文本值
            }
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值