zoukankan      html  css  js  c++  java
  • XML

    

    XML的文档描写叙述
    <?

    xml version="1.0" encoding="utf-8">

    每个XML文档必须有,而且仅仅能有一个跟节点(xml大写和小写敏感)

    标签一般成对存在,比如:<a></a>等。可是假设标签没有子数据能够写成封闭的 比如<a />

    XML的存储结构有下面两种
    <标签名>值</标签名>
    <标签名 属性="值" 属性2="值"/>


    比如:
    <person name="张三" age="25" Gender="1"/>

    ========================================

    xml使用 <!--这是凝视内容-->  进行凝视

    <?

    xml version="1.0" encoding="utf-8"?> <studetn> <stuinfo id="001"> <name>张三</name> <age>25</age> <Gender>1</Gender> </stuinfo> <stuinfo id="002"> <name>李四</name> <age>25</age> <Gender>1</Gender> </stuinfo> <stuinfo id="003"> <name>王五</name> <age>25</age> <Gender>1</Gender> </stuinfo> </studetn>


    xml 的第二种凝视:<![CDATA[..........]]>

    <news>
    	<title>标题</title>
    	<content><a href="http://www.baidu.com">今天的头条新闻</a></content> 
    	
    	<!--问题来了,我这个content标签里面不过想放一个超链接作为内容,但是我这个超链接是一个<a></a>这种成对出现的。xml会把它识别成一个节点,那我不像让这个a标签变成一个节点,不过把他当成内容。怎么办呢?-->
    </news>

    请看以下的这样的凝视方式:<![CDATA[..........]]>

    <?xml version="1.0" encoding="gb2312"?

    > <news> <title>标题</title> <content><![CDATA[<a href="http://www.baidu.com">今天的头条新闻</a>]]></content> </news>



    用C#语句创建一个XML文档

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Xml;
    
    namespace xml
    {
        class Program
        {
            /// <summary>
            /// 创建一个XML文档
            /// </summary>
            /// <param name="args"></param>
            static void Main(string[] args)
            {
                //命名空间:System.Xml;
                //类库:   XmlDocument  文档
                //         XmlElement   元素
                //         XmlAttribute 属性
                //         XmlText      内容
                XmlDocument xdoc = new XmlDocument();  //表示 XML 文档。
    
                //全部的元素使用文档节点创建
                XmlDeclaration xdec = xdoc.CreateXmlDeclaration("1.0", "gb2312", null);
                xdoc.AppendChild(xdec); //将指定的节点加入到该节点的子节点列表的末尾。
    
                XmlElement xele = xdoc.CreateElement("root");
                xdoc.AppendChild(xele); //将指定的节点加入到该节点的子节点列表的末尾。

    XmlAttribute xAttr = xdoc.CreateAttribute("id"); xAttr.Value = "101"; //获取或设置节点的值。 XmlText txt = xdoc.CreateTextNode("我是一个文本节点"); xele.AppendChild(txt); //将指定的节点加入到该节点的子节点列表的末尾。 xele.Attributes.Append(xAttr); //将指定的特性插入集合,并将其作为集合中的最后一个节点。 xdoc.Save("D:/XML.XML"); } } }


    创建好的XML文档内容:


     查到节点: 比如在我的E盘下有一个xml.xml的文件。我要依据某个值获取它的父节点

    <?xml version="1.0" encoding="utf-8"?>
    <studetn>
    	<stuinfo id="001">
    		<name>张三</name>
    		<age>25</age>
    		<Gender>1</Gender>
    	</stuinfo>
    	<stuinfo id="002">
    		<name>李四</name>
    		<age>25</age>
    		<Gender>1</Gender>
    	</stuinfo>
    	<stuinfo id="003">
    		<name>王五</name>
    		<age>25</age>
    		<Gender>1</Gender>
    	</stuinfo>
    </studetn>
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Xml.Linq;
    
    namespace ReadXml
    {
        class Program
        {
            /// <summary>
            /// 依据一个内容的值,来查找父节点(获取父节点的全部内容)
            /// </summary>
            /// <param name="args"></param>
            static void Main(string[] args)
            {
               XDocument xdoc=  XDocument.Load("e:/xml.xml");//从某个文件里去载入xml文档
    
                //将查到到的内容放到XElement中,所以我们建立一个XElement的泛型集合。由于我们查找到的节点可能有多个
               List<XElement> list = new List<XElement>();
    
               SearchElements(xdoc.Root, list);
    
            }
    
            public static void SearchElements(XElement ele, List<XElement> list)
            {
                //首先遍历ele的全部子节点
                foreach (XElement item in ele.Elements()) //Elements()表示ele这个节点的全部子节点.即:子元素集合。

    { //推断这个元素的名字是否为name,假设name里存的值是“张三” if (item.Name.LocalName == "name") { if (item.Value == "张三") { list.Add(item.Parent);//将"张三"这个节点的负节点加入到list中去 } } //假设item里面还有子节点就递归(关于递归能够參考asp.net文章中的<a target=_blank href="http://blog.csdn.net/fanbin168/article/details/45623263" target="_blank">TreeView 树菜单 节点</a><span class="gray"></span>) SearchElements(item, list); } } } }






    
    
  • 相关阅读:
    团队作业第四次
    团队作业第三次
    团队作业第二次(2)
    团队作业第二次(1)
    团队作业1
    Pillow库
    pyautogui库
    Python文件读取与异常
    元注解
    Java注解
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6917274.html
Copyright © 2011-2022 走看看