在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS開發(fā)-(用xml寫查詢語句+xml使用)

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-01-26 17:51 ? 次閱讀

XML(可擴展標記語言)

C#中我們常用來當做一個小型的數(shù)據(jù)庫來使用,我們可以將信息保存在XML文檔中,或者從XML文檔中獲取數(shù)據(jù)。這樣就必須使用到XML文檔的數(shù)據(jù)讀取。

XML文檔的讀取有兩種方式:

一、利用XMLReader逐條讀取,通過判斷XML的NodeType屬性來獲取到XML文檔中信息。

示例:設(shè)置可以讀取xml的dtd內(nèi)容

XmlReaderSettings xs=new XmlReaderSettings();
            xs.DtdProcessing=DtdProcessing.Parse;
            //用xmlreader對象讀取
            XmlReader xml = XmlReader.Create("../../Student.xml",xs);
          // bool b= xml.Read();//只進流的方式讀取節(jié)點
          //string n= xml.Name;//讀取的節(jié)點的名稱
          //MessageBox.Show(n);
            while (xml.Read())
            {
                string msg = "";
                switch (xml.NodeType)
                {
                    case XmlNodeType.Attribute:
                        msg = "屬性:" + xml.Name;
                        break;
                    case XmlNodeType.CDATA:
                        msg = "CDATA節(jié)點:" + xml.Value;
                        break;
                    case XmlNodeType.Comment:
                        msg = "注釋:" + xml.Value;
                        break;
                    case XmlNodeType.DocumentType:
                        msg = "dtd";
                        break;
                    case XmlNodeType.Element:
                        msg = "開始標記:" + xml.Name;
                        break;
                    case XmlNodeType.EndElement:
                        msg = "結(jié)束標記:" + xml.Name;
                        break;
                    case XmlNodeType.Text:
                        msg = "內(nèi)容:" + xml.Value;
                        break;
                    case XmlNodeType.Whitespace:
                        msg = "空白節(jié)點";
                        break;
                    case XmlNodeType.XmlDeclaration:
                        msg = "xml文件聲明:"+xml.Name;
                        break;
                    default:
                        break;
                }
                MessageBox.Show(msg);
            }

優(yōu)點,每次只讀取一條內(nèi)容,比較節(jié)省系統(tǒng)的內(nèi)容,適合大文件的讀取。

二、利用XMLDocument對象一次性將整個XML文檔加載到內(nèi)存中,形成一個有層次關(guān)系的DOM樹

示例:

XmlDocument doc = new XmlDocument();
            doc.Load("../../Part1.xml");
            XmlElement xe = doc.DocumentElement;
            foreach (XmlNode item in xe.ChildNodes)
            {
                string province = item.Attributes["id"].Value.ToString();
                comboBox1.Items.Add(province);
            }

1)XML文檔新增節(jié)點

XmlDocument xml=new XmlDocument();
xml.load("../../Student.xml");
//創(chuàng)建一個節(jié)點
XmlNode stnode=xml.CreateElement("節(jié)點一");//這里是需要創(chuàng)建的節(jié)點的名字
//stnode.InnerText="";//這里可以設(shè)置節(jié)點中的文本
XmlAttribute sta=xml.CreateAtrribute("id");//這里 創(chuàng)建了一個名為id的屬性
stnode.Attributes.Append(sta);//將這個屬性添加到stnode節(jié)點中
xml.DocumentElement.AppendChild(stuNode)//最后將創(chuàng)建的節(jié)點添加到XML文檔的根節(jié)點中
 xml.Save("../../Student.xml");//最后將修改后的XML保存到磁盤中

2)XML文檔修改節(jié)點

和新增一樣,首先我們需要將整個XML文檔加載到內(nèi)存中。

然后我們需要獲取到需要修改的節(jié)點

XmlNode=xml.selectSingleNode("http://student[@stuNo='"+stuNo+"']");

//xpath 路徑的寫法有兩種 //從跟節(jié)點開始往后寫路徑的寫法叫絕對路徑寫法:/students/student/sex //以"http://"開頭寫路徑的寫法為相對路徑的寫法://student/sex //如果節(jié)點中右屬性就用[ ]括起來

找到這個節(jié)點之后,重新給節(jié)點的InnerTextX屬性賦值,就可以實現(xiàn)修改操作。

3)XML文檔刪除操作

首先,我們同樣需要加載XML文檔,然后我們需要獲取到那個要刪除的節(jié)點。同樣的調(diào)用selectSingleNode方法,

最后我們使用xml.removeChild();就可以將節(jié)點移除,每次做完操作之后都別忘了調(diào)用xml.Save();將操作后的XML文檔保存到磁盤中。

XMLDocument屬性:

DocumentElement  獲取文檔的根 XmlElementChildNodes   獲取節(jié)點的所有子節(jié)點。   
HasChildNodes   獲取一個值,該值指示節(jié)點是否有任何子節(jié)點。   
FirstChild   獲取節(jié)點的第一個子級。  
LastChild   獲取節(jié)點的最后一個子級   
NextSibling   獲取緊接在該節(jié)點之后的節(jié)點。  
PreviousSibling 獲取緊接在該節(jié)點之前的節(jié)點。  
ParentNode  獲取該節(jié)點的父級節(jié)點。

InnerText   獲取或設(shè)置節(jié)點及其所有子節(jié)點的串聯(lián)值。  
InnerXml  獲取或設(shè)置表示當前節(jié)點子級的標記。   
Attributes   獲取一個 XmlAttributeCollection,它包含該節(jié)點的屬性。  
Value   獲取或設(shè)置節(jié)點的值   
Name 獲取節(jié)點的限定名。  
LocalName 獲取節(jié)點的本地名稱。  
Prefix  獲取或設(shè)置該節(jié)點的命名空間前綴。

AppendChild  將指定的節(jié)點添加到該節(jié)點的子節(jié)點列表的末尾  
CreateAttribute  創(chuàng)建具有指定名稱的 XmlAttribute   
CreateElement  創(chuàng)建 XmlElement  
CreateNode   創(chuàng)建 XmlNode  
CreateTextNode  創(chuàng)建具有指定文本的 XmlText

RemoveAll   移除當前節(jié)點的所有子節(jié)點和/或?qū)傩浴?  
RemoveChild   移除指定的子節(jié)點。   
ReplaceChildnewChild 節(jié)點替換子節(jié)點 oldChildWriteToXmlDocument 節(jié)點保存到指定的 XmlWriterSaveXML 文檔保存到指定的位置。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • XML
    XML
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    33104
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    189

    瀏覽量

    4456
收藏 人收藏

    評論

    相關(guān)推薦

    xml文件如何打開?怎樣打開XML文件?

    XML是ExtensibleMarkupLanguage的簡寫,一種擴展性標識語言。現(xiàn)在教你打開xml文件的方法和軟件。呵,其實最簡單的就是EXCEL表格打開了。。也可以Netsc
    發(fā)表于 07-04 17:56

    xml教程下載

     XML簡介 XML文檔的組成 XML的語法規(guī)則 元素的語法 XML文檔的有效性  DTD簡介 DTD語法&n
    發(fā)表于 10-07 13:06 ?0次下載

    xml教程pdf (XML終極教程下載)

    xml教程pdf (XML終極教程下載) Welcome to the XML Bible. After reading this book I hope you’ll agree with me
    發(fā)表于 10-07 14:15 ?0次下載

    An Eagle’s Eye View of XML

    This first chapter introduces you to XML. It explains ingeneral what XML is and how it is used.
    發(fā)表于 10-07 14:22 ?18次下載

    An Introduction to XML Applica

    An Introduction to XML Applications In this chapter we’ll be looking at some examples
    發(fā)表于 10-07 14:23 ?13次下載

    XML流上的關(guān)鍵字查詢算法

    針對當前XML 流過濾研究中存在的問題,使用關(guān)鍵字查詢方法作為解決方案。提出最右包含邊界的概念,結(jié)合一個虛擬棧實現(xiàn)用于在XML 數(shù)據(jù)流上進行關(guān)鍵字查詢的XVirtualStack 算法
    發(fā)表于 03-21 15:07 ?14次下載

    報文解析工具中的XML數(shù)據(jù)字典

    針對報文解析過程中存在的數(shù)據(jù)存儲無序、查詢和調(diào)用不便等問題,提出應(yīng)用XML 數(shù)據(jù)字典進行數(shù)據(jù)存儲的方案。根據(jù)給定的數(shù)據(jù)表,設(shè)計XML 形式的數(shù)據(jù)字典。實現(xiàn)XML 字典數(shù)據(jù)的解
    發(fā)表于 03-28 09:38 ?36次下載

    XML數(shù)據(jù)分頁索引技術(shù)研究

    對海量XML文檔的索引查詢技術(shù)進行研究,提出一種XML數(shù)據(jù)分頁索引查詢實現(xiàn)方法。該方法把頁面元素標記數(shù)量作為數(shù)據(jù)分頁依據(jù),建立XML數(shù)據(jù)的分
    發(fā)表于 03-31 10:07 ?10次下載

    基于XBW變換的XML數(shù)據(jù)壓縮查詢方法

    XML數(shù)據(jù)格式雖然具有易于創(chuàng)建和解析的特點,但數(shù)據(jù)格式過于冗長,難以實現(xiàn)具體的查詢。該文引入XBW變換,將XML數(shù)據(jù)壓縮成3個線性序列,使XML數(shù)據(jù)的
    發(fā)表于 04-14 09:22 ?10次下載

    XML數(shù)據(jù)查詢代價估計算法

    XML數(shù)據(jù)查詢代價估計問題是一種典型的多元素查詢條件代價估計問題。XML數(shù)據(jù)中的值信息分布不僅與其他值信息分布相關(guān),還與XML數(shù)據(jù)中的結(jié)構(gòu)信
    發(fā)表于 01-27 11:35 ?6次下載

    XML數(shù)據(jù)流基于組著色的XPath查詢模型

    提出了一種新的XML數(shù)據(jù)流XPath查詢模型GBRender,該模型通過組著色序列來直接處理元素,具有較高的處理效率與較強的適應(yīng)性。
    發(fā)表于 08-02 14:16 ?0次下載

    MTK自帶的XML解析

    現(xiàn)在大多數(shù)軟件都用xml作為配置文件,MTK本身也帶了XML文件的解析,在此我不評說自帶XML的解析效率
    發(fā)表于 08-31 16:00 ?0次下載

    基于節(jié)點集的XML查詢

    隨著XML應(yīng)用的日益廣泛,XML數(shù)據(jù)管理和查詢問題也引起了人們的普遍關(guān)注,并成為研究的熱點。盡管XML有其各種不同的表示和用途,但其本質(zhì)仍然是基于層次的數(shù)據(jù)結(jié)構(gòu),并可映射為相應(yīng)的
    發(fā)表于 12-20 09:35 ?0次下載
    基于節(jié)點集的<b class='flag-5'>XML</b><b class='flag-5'>查詢</b>

    XML基礎(chǔ)——XML必須知道的入門知識

    XML(Extensible Markup Language) 即可擴展標記語言。XML是Internet環(huán)境中跨平臺的、依賴于內(nèi)容的技術(shù),是當前處理結(jié)構(gòu)化文檔信息的有力工具
    的頭像 發(fā)表于 06-22 15:12 ?2215次閱讀
    <b class='flag-5'>XML</b>基礎(chǔ)——<b class='flag-5'>XML</b>必須知道的入門知識

    【JAVA UI】【HarmonyOS】【Demo】 鴻蒙如何進行 xml 解析

    鴻蒙鴻蒙如何進行數(shù)據(jù)解析 【問題描述】有時候我們從服務(wù)器獲取是 xml 格式數(shù)據(jù),我們需要將 xml 轉(zhuǎn)化成 model 對象,該如何使用呢?下面舉個例子說明一下,將分以下幾步進行
    的頭像 發(fā)表于 02-19 15:59 ?586次閱讀
    【JAVA UI】【HarmonyOS】【Demo】 <b class='flag-5'>鴻蒙</b>如何進行 <b class='flag-5'>xml</b> 解析
    主站蜘蛛池模板: 色天天干| 丁香激情综合| 欧美另类亚洲一区二区| 黄色网址网站在线观看| 中文字幕一区二区三区四区| 九九黄色网| 超级乱淫小黄文小说| 欧美中出在线| 亚洲1区2区3区4区| 男人日女人视频免费看| 一日本道加勒比高清一二三| 狠狠色噜噜狠狠狠狠米奇777 | 特级毛片aaaa级毛片免费| 亚洲视频1| 性欧美性| 色婷婷综合久久久| 伊人久久大香线蕉资源| 亚洲免费在线观看视频| 久久精品国产免费观看99| 一区二区影视| 久久久久国产一级毛片高清板| 亚洲国产高清人在线| 怡红院精品视频| 四虎黄色网址| 四虎影库网址| 免费看吻胸亲嘴激烈网站| 国产婷婷综合丁香亚洲欧洲 | 欧美zo| 黄网站免费视频| 色婷婷激婷婷深爱五月小说| 婷婷丁香六月天| 午夜综合| 四虎影视在线观看| 久久精品亚瑟全部免费观看| 又长又大又粗又硬3p免费视| aaa一级片| 午夜免费福利视频| 天天摸天天爽天天澡视频| 3344免费播放观看视频| 狠狠色噜噜狠狠狠狠98| 日本黄色短片|