.NETCore C嗳中級編2-6 JsonとXML

3990 ワード

・NETCorCSharp中級編2-6
本节の内容はJsonとXML操作です.
概要
JsonとXMLテキストはコンピュータネットワーク通信でよく見られるテキスト形式です.Jsonは実はJavaScriptの中の配列とオブジェクトで、対象に向かう方式を表しています.XMLは一種のマーク可能言語で、私達のようなものです.しかし、どのようなテキスト形式でも、学習の必要があります.
JSON
まず、Jsonを紹介します.JsonはJavaScriptの中のオブジェクトと配列です.様々な組み合わせで、多くの異なるデータ構造を構成できます.中かっこは、たとえば、
{
"data":
    {
        "people":
        [
            {"name":"ppppp","age":18}
        ]
    },
"status":0
}
この中で、dataは対象ですが、peopleは配列です.
Jsonデータを処理するなら、nugetで多くの適当な在庫を見つけられます.ここで使っています.これはちょっと珍しい倉庫かもしれませんが、とても使いやすいと思います.
ここで私たちの無料アプリの住所を教えます.https://www.sojson.com/api/weather.htmlここで私たちのjsonテキストを要請してもいいです.
LitJsonについては、我々Jsonの核心である行列と対象を十分に説明しています.LitJsonに対しては、配列はListを使用し、オブジェクトは直接クラスを作成して処理します.上記の例については、次のような関係を構築することができます.
public class data
{
    public List people{ get; set; }
    public int status{ get; set; }
}
//      json     data   
Main()
{
    JsonContent jsonc = JsonMapper.ToObject(json);
    foreach(var t in data)
}
もっと多い内容は私のこの博文Jsonが実戦を処理することを見ることができて、およびLitJsonのウェブサイト
XML
XMLはネット情報交換に広く使われている一般的なテキスト形式であり、彼の書き込みは私達のものと少し似ています.前にも述べたように、彼の多くは階層関係を解明しています.例えば、以下は一般的なxmlテキストのフォーマットである.

  
    Surface
    5000
  
  
    IBM
    10000
  
    
    Apple Mac
    10000
  
C〓〓の中で、私達はXMLを操作して同様に多くの倉庫があって、ここで私達はXml Dcumentを使って操作します.
Xml Dcument類での使用方法:
  • Load(string path)ファイルパスをロードするXml
  • SelectSingleNode選択ノード
  • ChildNodes、属性は関数ではなく、すべてのサブノードを取得し、Xml NodeListオブジェクト
  • に戻る.
  • HasChildNodes属性は、サブノード
  • があるかどうかを判断する.
  • CreateElementは、新しいノード
  • を作成します.
  • ApppendChild(XmlElement node)にサブノード
  • を追加します.
  • InsertBefore(XmlElement node、XmlElement ChildeNodes)を前に
  • を挿入します.
  • SetAttributeは、指定されたノードの新規属性であり、
  • を与えられる.
  • InnerText属性は、内部テキスト
  • を取得する.
  • セーブ()
  •     XmlDocument myXmlDoc = new XmlDocument();
        //  xml  (   xml     )
        myXmlDoc.Load(xmlFilePath);
        //            (SelectSingleNode): xml      
        XmlNode rootNode = myXmlDoc.SelectSingleNode("Computers");
        //        InnerXml OuterXml  
        string innerXmlInfo = rootNode.InnerXml.ToString();
        string outerXmlInfo = rootNode.OuterXml.ToString();
        //         ( :          )
        XmlNodeList firstLevelNodeList = rootNode.ChildNodes;
        foreach (XmlNode node in firstLevelNodeList)
        {
            //          
            XmlAttributeCollection attributeCol = node.Attributes;
            foreach (XmlAttribute attri in attributeCol)
            {
                //          
                string name = attri.Name;
                string value = attri.Value;
                Console.WriteLine("{0} = {1}", name, value);
            }
    
            //            
            if (node.HasChildNodes)
            {
                //            
                XmlNode secondLevelNode1 = node.FirstChild;
                //        
                string name = secondLevelNode1.Name;
                //       ( :InnerText)
                string innerText = secondLevelNode1.InnerText;
                Console.WriteLine("{0} = {1}", name, innerText);
                //            (       )
                XmlNode secondLevelNode2 = node.ChildNodes[1];
                name = secondLevelNode2.Name;
                innerText = secondLevelNode2.InnerText;
                Console.WriteLine("{0} = {1}", name, innerText);
            }
        }
    }
        catch (Exception ex)
        {
             Console.WriteLine(ex.ToString());
        }
    博主はXmlを使用しません.詳細はマイクロソフトの公式文書とhttps://www.cnblogs.com/zhengwei-cq/p/7242979.htmlこのブログは
    もし私の文章があなたを助けたら、githb.NETCore Guideプロジェクトでスターを注文してください.
    Github
    BiliBiliホームページ
    WarrenRyan's Blog
    ブログです