Heim  >  Artikel  >  Backend-Entwicklung  >  XML (6) Schreiben Sie selbst einen XML-Serialisierer

XML (6) Schreiben Sie selbst einen XML-Serialisierer

黄舟
黄舟Original
2017-02-10 16:35:071520Durchsuche

Im vorherigen Artikel wurde das Schreiben von Inhalten in eine XML-Datei über einen Serialisierer vorgestellt. Hier verwenden wir immer noch die Personenklasse zum Schreiben.

1. Schreiben Sie zuerst ein Personenobjekt

<span style="font-family:Microsoft YaHei;font-size:18px;">person p=new person() {Name = "istari", Age = 22, Email = "1061399756@qq.com"};</span>

2. Schreiben Sie dann eine Methode, um dieses Objekt auf unsere Weise zu verwenden Reflexion wird verwendet.

<span style="font-family:Microsoft YaHei;font-size:18px;">MySerialize(p, typeof(person));</span>

3. Schreiben Sie Ihren eigenen Serializer in dieser Methode


<span style="font-family:Microsoft YaHei;font-size:18px;">private static void MySerialize(object obj, Type type)
        {
            //创建一个XDocument对象
            XDocument document = new XDocument();
            //写入xml文件,把类名作为根节点
            string nsStr = type.ToString();
            string className = nsStr.Substring(nsStr.LastIndexOf(&#39;.&#39;) + 1);
            //写入根节点
            XElement rootElement = new XElement(className);
            //获取当前类型中的所有的属性
            PropertyInfo[] properties = type.GetProperties();
            //遍历
            foreach (PropertyInfo  item in properties)
            {
                rootElement .SetElementValue (item.Name ,item.GetValue (obj,null));
            }
            document .Add (rootElement );
            document .Save (className +".xml");
        }</span>

Reflection is Wird verwendet, um alle Attribute in der Personenklasse abzurufen.

Ergebnis

<span style="font-family:Microsoft YaHei;font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<person>
  <Name>istari</Name>
  <Age>22</Age>
  <Email>1061399756@qq.com</Email>
</person></span>



Das Obige ist der Inhalt von XML (6). Schreiben Sie selbst einen XML-Serialisierer. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!




Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn