C# XmlHelper

public class XmlHelper
{
    XElement xElement;
    public void GetXmlNode()
    {
        xElement = XElement.Load(Environment.CurrentDirectory + "\\test.xml");
        object s = xElement.Element("taoists").Element("book").Element("name").Value;
        XElement xElementcar = new XElement("car");
        xElementcar.SetAttributeValue("brand", "toyota");
        xElementcar.SetValue("crown");
        xElement.Element("taoists").Add(xElementcar);
        xElement.Element("taoists").Element("book").Remove();

    }

    public void GetXmlNode(XmlDocument xmlDocument)
    {
        xmlDocument.Load("");
        object s = xmlDocument.SelectSingleNode("").Attributes[""].Value;
        object x = xmlDocument.SelectSingleNode("").Value;
    }

    public void CreateXmlNode()
    {
        XDocument xmlFile = new XDocument();
        XElement root = new XElement("cultures");

        // 建立一个带有属性值的节点 ;<taoists count="100" comment="good">
        XElement taoists = new XElement("taoists");
        taoists.SetAttributeValue("count", "100");
        taoists.SetAttributeValue("comment", "good");


        XElement book = new XElement("book");
        book.SetElementValue("name", "道德经");
        book.SetElementValue("author", "老子");

        taoists.Add(book);

        // 把taoists变成cultures的第一级子节点
        root.Add(taoists);

        // 根节点只能一个
        xmlFile.Add(root);
        xmlFile.Save(Environment.CurrentDirectory + "\\test.xml");

    }

    public void Create()
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Environment.CurrentDirectory + "\\test.xml");

        XmlElement element = xmlDoc.DocumentElement;//取到根结点
        XmlNode newNode = xmlDoc.CreateNode("element", "NewBook", "");
        newNode.InnerText = "WPF";

        //添加为根元素的第一层子结点
        element.AppendChild(newNode);
        element.SetAttribute("count", "100");
        xmlDoc.Save(Environment.CurrentDirectory + "\\test.xml");
        //取到所有的xml结点
        XmlNodeList nodelist = xmlDoc.GetElementsByTagName("*");

    }

    /// <summary>
    /// 序列化
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="obj"></param>
    /// <returns></returns>
    public static string XmlSerialize<T>(T obj)
    {
        using (StringWriter sw = new StringWriter())
        {
            Type t = obj.GetType();
            XmlSerializer serializer = new XmlSerializer(obj.GetType());
            serializer.Serialize(sw, obj);
            sw.Close();
            return sw.ToString();
        }
    }

    //XML反序列化
    public static T DESerializer<T>(string strXML) where T : class
    {
        try
        {
            using (StringReader sr = new StringReader(strXML))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(T));
                return serializer.Deserialize(sr) as T;
            }
        }
        catch
        {
            return null;
        }
    }

}

[XmlType(TypeName = "envelope")]
public class CityDataModel
{
    /// <summary>
    /// header
    /// </summary>
    [XmlElement("header")]
    public Header header { get; set; }

    /// <summary>
    /// response
    /// </summary>
    [XmlElement("response")]
    public string response { get; set; }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值